extern放在宣告函式前與定義函式前的區別

2021-08-20 20:03:43 字數 374 閱讀 1892

extern 關鍵字放在函式宣告之前:

> test.h

extern int test();

如果這樣函式的宣告中帶有關鍵字extern,僅僅是暗示這個函式可能在別的原始檔裡定義。

這樣一來,就是在程式中取代include 「*.h」來宣告函式,在一些複雜的專案中,比較習慣在所有的函式宣告前新增extern修飾,以防止遺漏包含標頭檔案而導致的編譯錯誤。

extern 關鍵字放在函式定義之前:

> test.c

extern int test()

如果在函式定義的地方帶有關鍵字extern,表示該函式會提供給外部檔案使用,其實有些編譯器是預設每個函式都是extern型別的,反之是static型別

參考:

類的定義和宣告必須放在main函式前

記住 類的定義和宣告必須放在main函式前 void funtest class test 完整定義放在前面 class test 只宣告不定義 int main void funtest 正如上例所示,如果 類中只有申明類而沒有定義,則只能定義指標 test test 如果不定義類而僅僅宣告類的話...

extern 宣告函式和定義函式

extern 關鍵字放在函式宣告之前 test.h extern int test 如果這樣函式的宣告中帶有關鍵字extern,僅僅是暗示這個函式可能在別的原始檔裡定義。這樣一來,就是在程式中取代include h 來宣告函式,在一些複雜的專案中,比較習慣在所有的函式宣告前新增extern修飾,以防...

函式宣告時 要不要 加 extern

待補充。1 通常做法 在.c中定義,在.h中extern出來,那麼其他編譯單元include這個.件就可以使用這個變數。2 函式如果定義在本.c檔案中,或者定義在乙個.件中並且本.c檔案 include了這個.h就不用加extern,因為這兩種情況下本.c檔案都可以直接找到 一旦有乙個函式定義在另乙...