C 靜態變數

2021-07-25 04:32:35 字數 591 閱讀 7970

靜態變數 型別說明符是static。

靜態變數屬於靜態儲存方式,其儲存空間為記憶體中的靜態資料區(在靜態儲存區內分配儲存單元),該區域中的資料在整個程式的執行期間一直占用這些儲存空間(在程式整個執行期間都不釋放),也可以認為是其記憶體位址不變,直到整個程式執行結束(相反,而auto自動變數,即動態區域性變數,屬於動態儲存類別,佔動態儲存空間,函式呼叫結束後即釋放)。靜態變數雖在程式的整個執行過程中始終存在,但是在它作用域之外不能使用。

另外,屬於靜態儲存方式的量不一定就是靜態變數。 例如:外部變數雖屬於靜態儲存方式,但不一定是靜態變數,必須由 static加以定義後才能成為靜態外部變數,或稱靜態全域性變數。

所有的全域性變數都是靜態變數,而區域性變數只有定義時加上型別修飾符static,才為區域性靜態變數。

靜態變數可以在任何可以申請的地方申請,一旦申請成功後,它將不再接受其他的同樣申請。

靜態變數並不是說其就不能改變值,不能改變值的量叫常量。 其擁有的值是可變的 ,而且它會保持最新的值。說其靜態,是因為它不會隨著函式的呼叫和退出而發生變化。即上次呼叫函式的時候,如果我們給靜態變數賦予某個值的話,下次函式呼叫時,這個值保持不變。

C 靜態變數

在c 程式中,沒有全域性變數的概念,這意味著所有的成員變數只有該類的實 例才能操作這些資料,這起到了 資訊隱藏 的作用。但有些時候,這樣做卻不是個明智的選擇。假設我們要定義乙個圖書類,要求該類能儲存圖書的數量,即每增加一本圖書 定義乙個例項 圖書的數量應該加1。如果沒有靜態變數,我們需要將圖書的數量...

C 靜態變數

在c 程式中,沒有全域性變數的概念,這意味著所有的成員變數只有該類的例項才能操作這些資料,這起到了 資訊隱藏 的作用。但有些時候,這樣做卻不是個明智的選擇。假設我們要定義乙個圖書類,要求該類能儲存圖書的數量,即每增加一本圖書 定義乙個例項 圖書的數量應該加1。如果沒有靜態變數,我們需要將圖書的數量儲...

C 靜態變數

在c 程式中,沒有全域性變數的概念,這意味著所有的成員變數只有該類的例項才能操作這些資料,這起到了 資訊隱藏 的作用。但有些時候,這樣做卻不是個明智的選擇。假設我們要定義乙個圖書類,要求該類能儲存圖書的數量,即每增加一本圖書 定義乙個例項 圖書的數量應該加1。如果沒有靜態變數,我們需要將圖書的數量儲...