我有以下代码:
void main ( )
{
int s;
scanf("%i",&s);
int a[s];
}
当我尝试编译这段代码时,我没有任何错误!问题是我可以分配一个可变大小的静态数组吗?这个分配是在哪里实现的(在堆栈或堆中)?
谢谢。
最佳答案
这是一个可变长度数组。变长数组是c99标准引入的功能。变长数组只能在 block 作用域中声明,并且具有自动存储期限(不能使用 static
或 extern
说明符声明)。
关于c - C语言静态分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22282470/