宣告函式或全域性變數的作用範圍的關鍵字,其宣告的函式和變數可以在本模組/其他模組中使用。注意:
它是乙個宣告不是定義 ! 全域性變數的定義和宣告一般情況下最好分開。
預設情況下
全域性變數只能在定義它的檔案中使用
,但如果在另乙個檔案中將這個變數宣告為外部變數,那麼這個變數的作用域將被擴充套件到另外乙個檔案中。
extern常用方法:
1)在cpp檔案中定義全域性變數(函式外部);
2)在對應的h檔案中,宣告外部變數extern。
在需要用到這個全域性變數的地方,include」**.h」即可
1)可以修飾:區域性變數,全域性變數。
靜態全域性變數:作用域:
在宣告它的整個檔案都是可見的,而在檔案之外是不可見的。
靜態區域性變數:
它始終駐留在全域性資料區,直到程式執行結束。但其作用域
為區域性作用域,當定義它的函式或語句塊結束時,其作用域隨之結束。
2)static變數的定義和宣告是一起的,如果沒有初始化,自動初始化為0;
3)extern和static不能同時修飾乙個變數;
全域性變數和全域性靜態變數的區別
1)全域性變數
:預設是有外部鏈結性的,
作用域是整個工程,在乙個檔案內定義的全域性變數,在另乙個檔案中,通過extern 全域性變數名的宣告,就可以使用全域性變數。
2)全域性
靜態變數
:作用域是宣告此變數所在的檔案,其他的檔案即使用extern宣告也不能使用。
static全域性變數 全域性變數
1 全域性變數 外部變數 的說明之前再冠以static 就構成了靜態的全域性變數。全域性變數本身就是靜態儲存方式,靜態全域性變數當然也是靜態儲存方式。這兩者在儲存方式上並無不同。這兩者的區別在於非靜態全域性變數的作用域是整個源程式,當乙個源程式由多個原始檔組成時,非靜態的全域性變數在各個原始檔中都是...
全域性變數和靜態全域性變數
全域性變數和區域性變數是從變數的作用域的角度劃分。靜態變數和動態變數是從變數的記憶體分配的角度劃分。全域性變數本身就是靜態儲存方式,靜態全域性變數當然也是靜態儲存方式。這兩者在儲存方式上並無不同,區別在於非靜態全域性變數的作用域是整個源程式,當乙個源程式由多個原始檔組成時,非靜態的全域性變數在各個原...
c 全域性變數 靜態全域性變數
全域性變數是靜態儲存方式,靜態全域性變數也是靜態儲存方式,這兩者在儲存方式上並無不同。區別 雖在於非靜態全域性變數的作用域是整個源程式,當乙個源程式由多個原始檔組成時,靜態全域性變數在各個原始檔中都是有效的。靜態區域性變數則限制了其作用域,只在定義該變數的原始檔內有效,在同一源程式的其它原始檔中不能...