小古銀的官方**(完整教程):
靜態變數的應用場景並不多,但是需要用到的時候還是非常有用的。使用關鍵字static
宣告的變數就是靜態變數。
#include // std::cout std::endl
int get_count(void)
int main(void)
輸出結果:
123
45
如果變數count
不是靜態變數的話,也就是普通的區域性變數,那麼在函式結束時,它的記憶體就會被釋放,下次呼叫時,又會重新建立變數count
並且初始化為0,那麼這時候輸出的5行都會是0。
而現在count
被宣告為靜態變數,那麼它的記憶體實際上是屬於全域性的,它的記憶體不會因為get_count()
函式呼叫結束而釋放,但是它的使用範圍控制在get_count()
函式裡面,其他地方是不能呼叫變數count
的。
上面**中,由於變數count
的記憶體是屬於全域性的,那麼變數count
就會在程式建立的時候被建立。而之後每次呼叫get_count()
函式時,都是從++count;
這條語句開始執行。
C 靜態變數
在c 程式中,沒有全域性變數的概念,這意味著所有的成員變數只有該類的實 例才能操作這些資料,這起到了 資訊隱藏 的作用。但有些時候,這樣做卻不是個明智的選擇。假設我們要定義乙個圖書類,要求該類能儲存圖書的數量,即每增加一本圖書 定義乙個例項 圖書的數量應該加1。如果沒有靜態變數,我們需要將圖書的數量...
C 靜態變數
在c 程式中,沒有全域性變數的概念,這意味著所有的成員變數只有該類的例項才能操作這些資料,這起到了 資訊隱藏 的作用。但有些時候,這樣做卻不是個明智的選擇。假設我們要定義乙個圖書類,要求該類能儲存圖書的數量,即每增加一本圖書 定義乙個例項 圖書的數量應該加1。如果沒有靜態變數,我們需要將圖書的數量儲...
C 靜態變數
靜態變數 型別說明符是static。靜態變數屬於靜態儲存方式,其儲存空間為記憶體中的靜態資料區 在靜態儲存區內分配儲存單元 該區域中的資料在整個程式的執行期間一直占用這些儲存空間 在程式整個執行期間都不釋放 也可以認為是其記憶體位址不變,直到整個程式執行結束 相反,而auto自動變數,即動態區域性變...