例如,当您声明一个类型为int
的空边界的数组时会发生什么?您的计算机如何管理分配给该特定空阵列的内存?
int A[];
答案 0 :(得分:0)
在函数体内,int A[];
是违反约束的行为。
在函数之外,没有初始化程序的变量定义称为暂定定义。这个定义A
是未知边界int
的数组。 A
的类型是不完整类型,因为绑定尚未知晓。它可能会在稍后完成:
int A[];
void f()
{
A[0] = 1;
}
int A[5];
如果省略后一个定义,则程序的行为就像源文件末尾有int A[1];
一样。