C および C の可変長配列 (VLA)
可変長配列 (VLA) は、コンパイル時にサイズが不明な配列です。 。 C99 では、ローカル スコープ内で VLA を宣言できるようになりました。これにより、より柔軟なメモリ管理が可能になり、実行時まで配列のサイズがわからない状況で役立ちます。
VLA の動作
ユーザーが述べたとおり, C99 では、VLA はローカル スコープでは許可されますが、グローバル スコープでは許可されません。この動作は、グローバル変数にはコンパイル時に既知の一定のサイズが必要であるという事実によるものです。コンパイル時値の作成に使用されることがある Const 修飾子は、C99 ではコンパイル時値を作成しません。
C では、グローバル変数はコンパイル時値を持つことができます。したがって、const サイズで宣言されたグローバル配列は VLA とみなされず、既知のサイズを持つ従来の配列とみなされます。
グローバル スコープで VLA が許可されないのはなぜですか?
VLA がグローバルで許可されない理由はいくつかあります。スコープ:
これらの理由により、VLA は C と C の両方でローカル スコープに制限されており、より簡単に管理して安全に使用できます。
以上がC および C では、可変長配列 (VLA) がローカル スコープに制限されているのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。