【C语言数组的定义对错判断】

int k=5,a[k];
int a[];
这两者为什么不对,一步步解释下好吗?

a[k];//k是变量,而数组要求长度不变,假如K变成6,这与长度固定矛盾
int a[];//长度不确定错
可以这样int a[]=‘asffla’;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-26
int a[];// 没有指定空间,默认为0,不能分配0空间数组。
int k=5,a[k];// k是一个变量,所以a[k]无法静态分配内存,若要分配可以先定义指针,之后用new进行动态分配。本回答被网友采纳
相似回答