全域性變數與全域性靜態變數的區別

2022-08-23 23:57:10 字數 378 閱讀 9199

全域性變數與全域性靜態變數的區別:

(a)若程式由乙個原始檔構成時,全域性變數與全域性靜態變數沒有區別。

(b)若程式由多個原始檔構成時,全域性變數與全域性靜態變數不同:全域性靜態變數使得該變數成為定義該變數的原始檔所獨享,即:全域性靜態變數對組成該程式的其它原始檔是無效的。

(c)具有外部鏈結的靜態;可以在所有原始檔裡呼叫;除了本檔案,其他檔案可以通過extern的方式引用;

靜態全域性變數的作用:

(a)不必擔心其它原始檔使用相同變數名,彼此相互獨立。

(b)在某原始檔中定義的靜態全域性變數不能被其他原始檔使用或修改。

(c) 只能在本檔案中使用!具有內部鏈結的靜態;不允許在其他檔案裡呼叫;

全域性變數與全域性靜態變數的區別

全域性變數與全域性靜態變數的區別 a 若程式由乙個原始檔構成時,全域性變數與全域性靜態變數沒有區別。b 若程式由多個原始檔構成時,全域性變數與全域性靜態變數不同 全域性靜態變數使得該變數成為定義該變數的原始檔所獨享,即 全域性靜態變數對組成該程式的其它原始檔是無效的。c 具有外部鏈結的靜態 可以在所...

靜態變數與全域性變數的區別

靜態區域性變數和普通全域性變數以及靜態全集變數在編譯時,編譯器會自動給他們分配位址。而且是從mcu上電執行開始,一直駐留,不會被 的。而真正的區別在於他們的作用域。靜態區域性變數的作用域是在於定義它的那個函式內。由於其在編譯時編譯器就給他們分配了位址,並且做了初始化,所以它只能被初始化一次,而且看起...

全域性變數與靜態變數

1.全域性變數 作用域為定義處到檔案末尾,但是在程式開始就占用記憶體了。include include 這樣是可以的 extern int g int k 10 int main int g 10 include include 這樣也是可以的,但是沒必要。int g 10 extern int g...