c - 为什么带变量的数组分配有效?

标签 c arrays variable-length-array

这段代码:

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/

相关文章:

c - 打印txt文件的校验和而不打印文件路径

javascript - 如何将一个数组排序为与另一个数组相同?

c - 这是在堆上优化多维数组的可能方法吗?

C 程序不断返回 1

可变长度数组的代码顺序

c++ - 为什么C++ "fill"可以初始化可变大小的数组?

C语言-打印一些句子到文件

c - “Invalid operands to binary expressions” 错误

c - fscanf 检索数字信息的模式

c - 正确分配多维数组