C語言中static和auto用法詳解

2022-09-30 00:09:19 字數 621 閱讀 6338

目錄

何為靜態變數?儲存在靜態資料區的變數會在程式剛開始執行時就完成初始化,也是唯一的一次初始化。就是只進行一次初始化。不理解?看**!

**見真知:

#include

int main()

return 0;

} void fun()

執行結果:

由結果可以看出有static的在持續累加,除了第一次沒有再初始化。

#include

int main()

printf("\n");程式設計客棧

} return 0;

} 執行結果:

由結果可見:外接模組和內建模組是互不影響的,這就是static的第二種用法,保持區域性一部分穩定,不會隨外部的變化而變化。

#include

int main()

printf("\n");

} return 0;

} **看不懂?結合執行結果就懂了:

由結果顯而易見:外接模組持續累加,內建模組全部為1,與static的第二種用法相比較,auto區域性不斷進行初始化 ,而static是區域性除第一次外不再初始化。

static和auto的相同之處是都能只在區域性進行改變,與外接模組互不干涉。

C語言中static和extern

c中的關鍵字extern是用來做變數宣告的,宣告extern關鍵字的全域性變數和全域性函式可以使得它們的作用域得到擴充套件,全域性變數和全域性函式預設是extern所以宣告時我們一般不寫 c中的關鍵字static主要用於修飾普通變數和函式 c 中則主要修飾類的成員變數和函式 不管在c還是c 中sta...

c語言中static 用法和extern

static在c裡面可以用來修飾變數,也可以用來修飾函式。先看用來修飾變數的時候。變數在c裡面可分為存在全域性資料區 棧和堆裡。其實我們平時所說的堆疊是棧而不是堆,不要弄混。int a int main a是全域性變數,b是棧變數,c是堆變數。static對全域性變數的修飾,可以認為是限制了只能是本...

c語言中static型別

靜態變數都儲存與靜態儲存區中。1.靜態區域性變數 靜態區域性變數屬於靜態儲存方式,它具有以下特點 1 靜態區域性變數在函式內定義 它的生存期為整個源程式,但是其作用域仍與自動變數相同,只能在定義該變數的函式內使用該變數。退出該函式後,儘管該變數還繼續存在,但不能使用它。2 允許對構造類靜態區域性量賦...