我很難理解此代碼。
struct foo myfoo; // --> Is it forward declaration or object creation. ?
struct foo
{
int a;
};
int main()
{
return 0;
}
在代碼中標記爲箭頭-->
它是前向聲明還是對象創建。 ?
如果是向前聲明又是什麼struct foo;
叫什麼?如果它是對象創建或實例化,那麼它如何在struct定義之前創建對象。
在gcc
編譯它工作正常,但其他的編譯器會發出錯誤。
gcc -Werror -Wall tst.c -o tst
對此行爲的任何建議或解釋gcc
?我無法找到任何記錄。
我沒有得到一個機會,看看C99的標準,所以我仍然不知道,如果是在某處指定+1。 – iabdalkader
@melpomene:我同意 – Omkant
@melpomene,或者一個功能?看起來好像理解結構是在稍後的同一個文件中定義的。 – Shahbaz