0

GCC编译如下函数

void f(int i)
{
    int a[i];
}

我的印象是您只能初始化具有恒定长度的数组。这应该编译吗,它会做我期望的吗?

4

2 回答 2

2

C99 添加了可变长度数组。并将gcc其添加到 c89 作为带有 -std=gnu89选项的扩展名(默认为gcc)。

在最新的 C 标准 C11 中,可变长度数组支持被标记为可选。

于 2013-10-13T00:21:59.640 回答
0

C99 中允许使用 VLA。GCC 扩展允许它在 C89 模式下编译。

于 2013-10-13T00:23:18.550 回答