C语言数组的初始化

为什么int count[10] = {0}; 在正常情况下没有问题

const int number =10;
int x;
int i;
int count[number] = {0};

就会显示 [Error] variable-sized object may not be initialized

这是什么情况= =

C99前,标准不支持VLA,要求定义数组大小时必须使用常量作为大小,不可使用变量
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-01-02
可以这样写
int *count=malloc(sizeof(int)*number);
等效于count[number];
相似回答