上文說到,全域性變數的作用範圍是從其定義開始,至程式結束為止。但在大型程式開發時,專案往往由多個原始檔構成。某個原始檔往往會用到其他原始檔裡定義的全域性變數,這時應該怎麼辦呢?
這時我們就可以用「extern」關鍵字,對這個變數進行宣告,告訴編譯器,這個變數在其他地方是定義過的。
//演示extern宣告全域性變數的用法
#include extern long power(int);
int a=2;
main()
extern a;
long power(int n)
編譯方法和執行結果:
《C程式語言》 變數的儲存2
從變數值存在的時間 生存期 劃分 靜態儲存方式 程式執行期間由系統分配固定的儲存空間的方式 動態儲存方式 程式執行期間根據需要進行動態的分配儲存空間的方式 記憶體中供使用者使用的儲存空間的分配 1.程式區 2.靜態儲存區 3.動態儲存區 資料分別放在靜態儲存區 和 動態儲存區 全域性變數 全部放在靜...
c語言的變數
資料變數的三個屬性 作用域 連線屬性和儲存型別。程式 中的變數在編寫是要考慮三個屬性,同時程式要經歷編譯,鏈結和執行時的記憶體分配。1.作用域 在編譯時有四種不同型別的作用域 檔案作用域,函式作用域,塊作用域和原型作用域 1 塊作用域 內的 段。2 檔案作用域 以檔案為單位,可以通過 include...
C語言的變數
1 變數的資料型別 整型等 2 變數的作用域 區域性變數和全域性變數 3 數量的儲存型別 register static auto 當乙個可執行檔案被執行 a.out 即建立乙個程序。此時,系統會為程序分配活動空間,此空間一般為虛擬空間,一般為4gb。作業系統不會通過完整對映將虛擬記憶體對映到物理聶...