C の可変長配列
C は可変長配列 (VLA) をサポートしていないという一般的な前提にもかかわらず、それを実現する方法はあります。同様の機能。ただし、これらのメソッドの使用は、すべてのコンパイラ間での互換性が保証されているわけではないことに注意することが重要です。
コードの説明
提供されたサンプル コードは、次の理由によりコンパイルされ、動作します。
標準サポート
注意が重要です。 C 標準では VLA をサポートするコンパイラは必要ありません。したがって、VLA を使用するコードは、異なるコンパイラやプラットフォーム間で移植できない可能性があります。
C 14 および C 17 の提案は失敗しました
VLA は当初、次のように提案されました。 C 14 標準に含まれています。しかし、この提案は投票プロセスを通過せず、VLA は言語に追加されませんでした。この提案は、C 17 に含めることも受け入れられませんでした。
結論
VLA は正式には C 標準の一部ではありませんが、拡張機能として使用できます。 GCC などの特定のコンパイラでは。ただし、潜在的な移植性の問題を認識し、特にクロスプラットフォーム コードでは VLA を慎重に使用することが重要です。
以上がC には可変長配列 (VLA) が存在しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。