<分区>
我正在学习 C 语言的考试,并且正在阅读从某个站点下载的 C 语言摘要。
上面写着不允许写arr[i]
,其中i
是一个变量。唯一的方法是使用 malloc。
然而,我写了下面的代码,它在没有警告的情况下编译,并且在 valgrind 上没有错误:
int index = 5;
int a4[index];
a4[0] = 1;
a4[1] = 2;
int index2;
scanf("%d",&index2);
int a5[index2];
a5[0] = 1;
a5[1] = 2;
那么数组声明背后的真相是什么? 谢谢!