1. 程式人生 > >static變數的作用域和生存週期,static關鍵字

static變數的作用域和生存週期,static關鍵字

靜態區域性變數、靜態全域性變數

生存週期: 變數從定義到銷燬的時間範圍,也就是可以訪問的時間段。存放在全域性資料區的變數的生存週期存在於整個程式執行期間,而存放在棧中的資料則隨著函式等的作用域結束導致出棧而銷燬,除了靜態變數之外的區域性變數都存放於棧中。

作用域: 變數的可見程式碼域(塊作用域,函式作用域,類作用域,程式全域性作用域)。

所有的靜態變數的生存週期都是從程式開始到結束的。

靜態變數可分為靜態區域性變數和靜態全域性變數,它們的作用域都取決於它們宣告的位置。
靜態區域性變數通常定義在函式中,不管有多少次呼叫,只在程式執行時初始化一次,它的作用是讓函式儲存某種狀態。
靜態全域性變數

具有全域性變數的性質,但同時其他原始檔不知道它的存在。

靜態函式

作用域限制在本檔案中,不會汙染名稱空間。

類中的static

在類中使用static就相當於定義類變數和類成員函式,它們都屬於整個類而不屬於某個例項。