靜態全域性變數的宣告與定義

2021-08-27 11:05:15 字數 631 閱讀 4344

用static修飾的變數,在其所限定的作用域中只會有一分記憶體

1:在乙個函式內部:說明是乙個靜態區域性變數,

不管這個函式被呼叫多少次,這個static修飾的變數只會有一分記憶體,也就是說當這個變數多次被修改,都是在上一次基礎上修改,不會從頭再來

2:在乙個檔案內部,函式外部:靜態全域性變數

該檔案中的函式都可以訪問到,並且不同函式在對該變數修改時都是在上乙個函式修改的基礎上修改的

static 限制了變數的作用域只在該檔案裡,所以加上static在別的檔案中定義乙個相同的static沒有問題 

沒有static修飾的全域性變數,要是在不同檔案中定義了相同的變數名,程式會報錯

靜態全域性變數宣告:在標頭檔案中!chart.h靜態全域性變數定義:在.cpp檔案中,與函式同級。定義前一定要加類名

全域性變數的定義宣告

c 中定義全域性變數要注意的地方 yandaren 1220 chinaunix部落格 c 中定義全域性變數要注意的地方 在c 中定義全域性變數是應該盡量在.cpp檔案中定義,而不要在.h 檔案中 定義,定義好了之後,可以在.件中利用 extern關鍵字進行 宣告.如果在.件中定義的話,多層包含可能...

C 全域性變數的宣告與定義

1.header1.h中宣告全域性變數,header1.cpp中定義全域性變數 header1.h ifndef header1 h define header1 h extern int g n 標頭檔案中必須加extern宣告全域性變數,不賦值 int g o 錯誤 int g o 10 錯誤 ...

全域性變數與靜態全域性變數的異同

參考 1 生存週期 變數從定義到銷毀的時間範圍。存放在全域性資料區的變數的生存週期存在於整個程式執行期間,而存放在棧中的資料則隨著函式等的作用域結束導致出棧而銷毀,除了靜態變數之外的區域性變數都存放於棧中。2 作用域 變數的可見 域 塊作用域,函式作用域,類作用域,程式全域性作用域 3 static...