1

固定サイズなしで配列を作成する簡単なコードを書きました。コードをコンパイルしてみましたが、gcc正常に動作しています。これが機能する理由を説明してください。コンパイル時に配列サイズを知る必要があります。

これが私が使用したコードです。

void f(int k)
{
   int a[k];
   .....//some operation
}

int main()
{
  int i = 10;
  f(10);
  return 0;
}
4

1 に答える 1

6

この機能はVLA、可変長配列として知られています。これは、すべての C 標準でサポートされているわけではありません。C11や などの最近の C 標準 C99ではサポートされていますが、古い C 標準では「C89」としてサポートされていません。

を使用している場合は、これに関するコンパイラのドキュメントgccを参照してください。

于 2014-12-03T07:04:55.550 に答える