これから拡張するquestionこれはどのような宣言ですか?
このコードを理解するのは苦労しています。
struct foo myfoo; // --> Is it forward declaration or object creation. ?
struct foo
{
int a;
};
int main()
{
return 0;
}
矢印のコード-->
前方宣言またはオブジェクトの作成ですか? ?
これが前方宣言であれば、struct foo;
とは何ですか?オブジェクトの作成またはインスタンス化の場合は、構造体定義の前にオブジェクトを作成する方法を教えてください。
gcc
コンパイラでは正常に動作していますが、他のコンパイラではエラーが発生します。
gcc -Werror -Wall tst.c -o tst
gcc
のこの現象に関するご意見はありますか?私はそれがどこにあっても見つけられなかった。 myfoo
と呼ばれるタイプfoo
のC変数の定義である
に等しい と私はC99標準を見て機会がなかったので、それはだ場合、私はまだわからない翻訳単位の終わりのように複合型、どこかで指定された+1。 – iabdalkader
@melpomene:私は – Omkant
@melpomeneに合意しましたか?後で同じファイルにその構造が定義されていることを理解しているようです。 – Shahbaz