C語言中的全域性變數定義與使用

2021-07-11 07:05:13 字數 720 閱讀 9813

1.  書中對『全域性變數』的定義

在函式內定義的變數是區域性變數,而在函式外定義的變數叫做外部變數,外部變數是全域性變數。全域性變數可以為本檔案中其他函式所共用它的有效範圍從定義變數的位置開始到本原始檔結束。

建立全域性變數的作用是增加了函式間資料聯絡的渠道。

2.  譚浩強 書中對『全域性變數』的宣告

用extern宣告:

如果外部變數不在檔案的開頭定義,其有效的作用範圍只能從定義點到檔案結束。如果在定義點之前的函式想引用該外部變數,則應該在應用之前用關鍵字extern對該變數作『外部變數宣告』。表示該變數是乙個已經定義了的外部變數。有了此宣告,就可以從宣告處起,合法的呼叫該外部變數。

int  a=13, b=-8;

main()

extern int a,b;//也可以寫成extern a,b;

用static宣告:

有時在程式中希望某些外部變數只限於被本檔案引用,而不能被其他檔案引用。這時就可以在定義外部變數時在其前面加乙個static宣告。此時的外部變數也成為靜態全域性變數。

static int a;

3. 需要注意的地方

外部變數的定義和宣告是不同的。外部變數的定義只能有一次,它的位置在所有函式之外,而統一檔案中的外部變數的宣告可以有多次,它的位置可以在函式之內,也可以在函式之外。系統根據外部變數的定義,而不是宣告,分配儲存單元。對外部變數的初始化,只能在定義時進行,而不能在宣告中進行。

頂 0

C語言中定義全域性變數

1 在c語言的標頭檔案中定義變數出現的問題 最好不要傻嘻嘻的在標頭檔案裡定義什麼東西。比如全域性變數 xx標頭檔案 ifndef xx 標頭檔案.h define xx 標頭檔案.h int a endif 那麼,很糟糕的是,這裡的int a 是個全域性變數的定義,所以如果這個標頭檔案被多次引用的話...

C語言中全域性變數的定義與呼叫

1.譚浩強 書中對 全域性變數 的定義 在函式內定義的變數是區域性變數,而在函式外定義的變數叫做外部變數,外部變數是全域性變數。全域性變數可以為本檔案中其他函式所共用它的有效範圍從定義變數的位置開始到本原始檔結束。建立全域性變數的作用是增加了函式間資料聯絡的渠道。2.譚浩強 書中對 全域性變數 的宣...

C語言中如何定義全域性變數

c c 2010 09 06 13 01 39 閱讀590 字型大小 大 中小訂閱 眾所周知,全域性變數在被定義後,系統會為全域性變數分配記憶體並且它還可以被其他模組通過c語言中extern關鍵字呼叫。這樣就必須在 xx.c 和xx.h 檔案中定義。這種重複的定義很容易導致錯誤。下面是只需用在標頭檔...