这段代码:
int main() {
int size;
scanf("%d", &size);
int array[size];
}
与 GCC 一起工作很好,但 VC 需要一个常量表达式来表示数组的大小,因此不会编译它(这对我来说更有意义)。知道为什么它适用于 GCC 吗?
最佳答案
是的,因为 gcc 支持 variable length arrays .
它是作为 C99 标准的一部分添加的,但是,在后来的标准(C11 和 C18)中,它是一个可选功能。
关于c - 为什么带变量的数组分配有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57945508/