C 数组静态分配
我有这段代码,我假设它不会编译,因为我试图使用命令行参数中的值分配数组,而编译器在编译时不知道该参数。 但我编译了这段代码,它成功了。 有人能解释一下这里发生了什么吗??C 数组静态分配,c,arrays,C,Arrays,我有这段代码,我假设它不会编译,因为我试图使用命令行参数中的值分配数组,而编译器在编译时不知道该参数。 但我编译了这段代码,它成功了。 有人能解释一下这里发生了什么吗?? 我是否误解了静态分配的基本概念???C99允许分配带有变量的数组。这称为可变长度数组akaVLA 我手上没有C99,该部分是C99中的6.7.5.2,以下链接来自互联网 注意,VLA在C++中不支持,更多的信息c99支持,如图所示。本质上,编译器决定在运行时分配数组的方式,而不是在编译时分配数组。 int num = at
我是否误解了静态分配的基本概念???C99允许分配带有变量的数组。这称为可变长度数组akaVLA 我手上没有C99,该部分是C99中的6.7.5.2,以下链接来自互联网
<>注意,VLA在C++中不支持,更多的信息c99支持,如图所示。本质上,编译器决定在运行时分配数组的方式,而不是在编译时分配数组。
int num = atoi(argv[1]);
unsigned long times[num];