初學者,學到extern有點混亂。
1. 全域變數不是全域可見嗎,為什么還需要extern關鍵字?但函式卻可以不需要?
2. 一個專案中的 .c 檔案之間是什么關系?(有時候感覺像僅僅把一個長檔案分隔成多個短檔案)
uj5u.com熱心網友回復:
如果你#include 那個檔案也可以不用extern,但是多個檔案都#include ,他們是同名的不同變數,因此會有沖突,所以一般是用一個檔案定義 ,其余用extern
函式也一樣啊,想讓別的可見,也需要提前宣告啊
uj5u.com熱心網友回復:
而函式卻可以在不同c檔案直接使用? ------- 誰說的,也要include頭檔案或者用extern啊uj5u.com熱心網友回復:
具有檔案作用域的識別符號(即,你所說的全域變數)不需要使用存盤類指定符extern,它默認就是extern的。按照規定,如果在一個函式的宣告中未使用任何存盤類指定符,則被視為使用了存盤類指定符extern。
uj5u.com熱心網友回復:
1.全域變數的生命周期是從定義到程式退出之前一直有效;不是全域可見;加extern用于標識參考外面定義的全域變數;2. 多個源檔案.c之間不一定有關系,多個具有相同功能的函式放在同一源檔案里,這樣便于管理和呼叫;
uj5u.com熱心網友回復:
《程式員的自我修養——鏈接、裝載與庫》轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/9538.html
標籤:C語言
上一篇:字串換行
下一篇:下面一段宏定義 求解釋
