在變數面前加static,該變數則被宣告為靜態變數。
靜態變數屬於靜態儲存方式,特點如下:
(1)靜態變數在函式內定義,在程式退出時候自動釋放,在程式的整個執行期間都不釋放,即其生存期為整個源程式執行期
(2)靜態變數的作用域和自動變數的相同,在函式內定義就砸函式內使用,儘管該變數還繼續存在,但是不能使用它,如果再次呼叫定義它的函式時,它又可以繼續使用。
(3)編譯器會為靜態區域性變數賦予0值。
說到靜態區域性變數,必定有靜態全域性變數,那麼二者之間的差別是什麼呢??其實也很簡單
靜態變數:
1、靜態區域性變數
靜態區域性變數的值在函式呼叫結束後不消失。
2、靜態全域性變數
靜態全域性變數只能在本原始檔中使用。通俗一點來講,乙個程式中含有多個標頭檔案(.h)和原始檔(.cpp),若在某一原始檔中宣告了靜態全域性變數,那麼該靜態全域性變數只可以在該原始檔中使用。
可以通過程式來進行說明:
在該**中,靜態區域性變數為x,通過for迴圈,多次呼叫text函式時,x的值都儲存了前次呼叫後留下來的值,這就是靜態區域性變數特點:靜態區域性變數的值在函式呼叫結束之後不消失,仍保留前次呼叫之後留下來的值。因此迴圈三次後結果時6,而不是3。
去掉static後,得到的結果是:
此時的變數x不再使用靜態儲存空間,每次呼叫變數x的值都會被釋放,再次呼叫時候,x的值為0。
static變數和static函式的用法
一 static 變數 static變數大致分為三種用法 1.用於區域性變數中,成為靜態區域性變數.靜態區域性變數有兩個用法,記憶功能和全域性生存期 2.用於全域性變數,主要作用是限制此全域性變數被其他的檔案呼叫 3.用於類中的成員.表示這個成員是屬於這個類但是不屬於類中任意特定物件 1.靜態區域性...
static變數和static函式的用法摘抄
一 static 變數 static變數大致分為三種用法 1.用於區域性變數中,成為靜態區域性變數.靜態區域性變數有兩個用法,記憶功能和全域性生存期.2.用於全域性變數,主要作用是限制此全域性變數被其他的檔案呼叫.3.用於類中的成員.表示這個成員是屬於這個類但是不屬於類中任意特定物件 1.靜態區域性...
static變數和static函式的用法摘抄
static變數和static函式的用法摘抄 2007年10月26日 星期五 10 09 一 static 變數static變數大致分為三種用法 1.用於區域性變數中,成為靜態區域性變數.靜態區域性變數有兩個用法,記憶功能和全域性生存期.2.用於全域性變數,主要作用是限制此全域性變數被其他的檔案呼叫...