ホームページ >バックエンド開発 >C++ >柔軟な配列メンバーは C で有効ですか?

柔軟な配列メンバーは C で有効ですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-06 09:13:09484ブラウズ

Are Flexible Array Members Valid in C  ?

C の柔軟な配列メンバー

C99 では、柔軟な配列メンバーを使用して、サイズが不明な配列を構造体の一部として宣言できます。ただし、C でのこの機能の有効性は混乱の対象となってきました。

C での有効性

C は、柔軟な配列メンバーの導入に先立って 1998 年に標準化されました。 C99で。したがって、フレキシブル配列メンバーは C ではサポートされません。

正しい宣言

誤解にもかかわらず、'[0]' は C のフレキシブル配列メンバーの有効な宣言です。 C.この構文は、配列のサイズが指定されておらず、実行時にユーザーが設定する必要があることを示しています。

C では、次のコードはコンパイルされ、エラーなしで実行:

struct Blah {
    int foo[0];
};

対照的に、サイズのない構文 '[]' は C では無効です。この構文を使用して柔軟な配列メンバーを宣言しようとすると、コンパイラ エラーが発生します。

以上が柔軟な配列メンバーは C で有効ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。