由于局部变量也称为自动变量,并且应该在运行时在访问函数时分配内存。
int main(){
int a; // declaration
return 0;
}
int main(){
int a[]; // compilation error, array_size missing
return 0;
}
int main(){
int a[2]; // declaration, but can't work without array_size,
// so at compile time it is checked!
return 0;
}
我的问题是在C中声明array_size是否只是一个规则,或者在编译时为数组分配内存(仍然是局部变量)
它是如何工作的?
根据 K&R 的 C 编程,数组是一个变量。第 161 页。