我在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;
Run Code Online (Sandbox Code Playgroud)
那么数组声明背后的真相是什么呢?谢谢!