为什么我们可以在 c 中做到这一点?
int n;
scanf("%d",&n);
int a[n];
我认为数组在加载期间位于内存中,但看起来上面的示例在运行时有效。 我误解了什么吗?你们能帮忙吗?
谢谢,
最佳答案
我不是 C 语言专家,但这可能是一个 variable-length array添加者 C99和 supported by GCC , 例如。 GCC 在堆栈上为此类数组分配内存,以便在您从函数返回时自动释放它。
关于c - 为什么 a[n] 在运行时在 c 中被接受?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1864840/