0

こんにちは、真の C 言語で書かれた次のコード フラグメントについて質問があります。

    volatile double samp[256];

コンパイルしようとすると、gcc から次の警告が表示されました。

    array 'samp' assumed to have one element

私の質問は、C++ 配列宣言スタイルが真の C で正しいということですか?

4

1 に答える 1

3

ISO/IEC 9899:1990 (C90)のTechnical Corrigendum 1からの「1 つの要素を持つと想定される」という文言は次のとおりです。


int i[];
配列を含む変換単位の最後にiまだ不完全な型がある場合、配列には 1 つの要素があると見なされます。この要素は、プログラムの起動時にゼロに初期化されます。

これは、配列をバインドせずに配列を宣言したことを示しています。

volatile double samp[];

のすべての定義を確認する必要がありsampます。

于 2012-10-25T21:54:38.433 に答える