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

VLA は C99 で許可されています。GCC 拡張により、C89 モードでコンパイルできます。

于 2013-10-13T00:23:18.550 に答える