昨天我正在帮助一位有一些C编程的朋友,他曾经用这种方式声明数组:
/*includes*/
int i;
scanf("%d",&i);
int array[i];
我不认为它是合法的方式,但编译器没有给出任何错误......那么声明一个数组是否正确/可能?或者这种声明可能有任何问题?
答案 0 :(得分:0)
如C标准的C99版本(How do compilers treat variable length arrays)中所述,允许使用可变长度数组。但是,它们不允许在任何版本的C ++中使用。