之前看過很多的關於extern宣告的介紹,不過都沒有很徹底理解到底extern是個什麼東西,今天,在寫程式的時候,出現了extern宣告錯誤,突然明白這個extern宣告到底是個什麼意思了,在這裡與大家分享。
我們在網上搜尋關於extern宣告,上面會解釋:extern只是乙個宣告,真正使用它需要進行定義。這就像我們在.**件中定義乙個void led(void)函式一樣,在.**件中我們只是定義,真正的函式內容我們是在.c檔案中寫的,extern宣告也是一樣,我們在.**件中宣告乙個 extern int i;在相應.c檔案中寫 int i;這樣這個變數 i 就能被其他函式呼叫了。
具體的呼叫過程呢就是,當我們在main用到上述定義的變數時,它就找啊找,突然,在乙個.**件中發現了變數 i,那麼它就去對應的.c檔案中找這個i 的定義,一找,發現,誒,有個int i,哇塞找到這個i的定義了,就可以用了。
不知道大家這樣好不好理解,,,,,,,,,,,,,,
extern使用方法總結
include stdafx.h extern print char p int main int argc,char argv 內容如下 include stdafx.h include stdio.h print char s 結果程式可以正常執行,輸出結果。如果把 extern 去掉,程式依然...
extern使用方法總結!
一 問題二 詳解2 全域性變數在外部使用宣告時,extern關鍵字是必須的,如果變數沒有extern修飾且沒有顯式的初始化,同樣成為變數的定義,因此此時必須加extern,而編譯器在此標記儲存空間在執行時載入內並初始化為0。而區域性變數的宣告不能有extern的修飾,且區域性變數在執行時才在堆疊部分...
extern使用方法總結!
2 全域性變數在外部使用宣告時,extern關鍵字是必須的,如果變數沒有extern修飾且沒有顯式的初始化,同樣成為變數的定義,因此此時必須加extern,而編譯器在此標記儲存空間在執行時載入內並初始化為0。而區域性變數的宣告不能有extern的修飾,且區域性變數在執行時才在堆疊部分分配記憶體。3 ...