代码1:
int size;
struct demo
{
int a;
};
int main()
{
scanf("%d",&size);
struct demo d[size];
return 0;
}
这段代码运行正常。
代码2:
int size;
struct demo
{
int a;
};
int main()
{
scanf("%d",&size);
return 0;
}
struct demo d[size];
这段代码显示了一个错误:
error : variably modified 'd' at file scope
为什么在代码2中出现这样的错误,而代码1运行正常?
const int size;
不会有任何区别(不像C++)。 - Peter Mortensen