C static關鍵字用法

2022-03-11 08:18:54 字數 619 閱讀 8001

1、被static關鍵字修飾的全域性函式或者變數具有檔案作用域,即只在當前檔案中可見。

2、被static修飾的變數會被儲存在靜態儲存區,生命週期也為從定義直至程式結束。對於區域性變數,即使在函式退出後該靜態變數依然存在,然而卻也無法訪問。此外,static修飾的變數一生只會被初始化一次(這點經常被用作面試的小題,需注意)。

3、正是因為被static修飾的變數會被儲存在靜態儲存區,所以才有了這個一條。因為靜態儲存區的變數會被預設初始化為0。

1、類的靜態成員函式是屬於整個類而非類的物件,所以它沒有this指標,這就導致 了它僅能訪問類的靜態資料和靜態成員函式。

2、靜態成員函式不含有this指標,所以可以作為**函式。但同時為了可以訪問類的成員變數可以將物件的this指標當做實參傳入**函式中。

3、靜態成員函式在類定義體外定義時不能加static關鍵字修飾,因為成員函式本是類作用域,而在類外用static修飾會將其作用於擴大為檔案作用域,所以是不合理的。

4、靜態成員變數並不像一般的成員變數在建構函式中初始化,而是在類的實現檔案中初始化,即必須在.cpp檔案中初始化,否則在程式鏈結時會出錯,重定義,且初始化時無需再使用static關鍵字修飾。

5、static修飾的const成員變數可以再類中被定義時初始化。

c static 關鍵字用法

一 static 變數 static變數大致分為三種用法 1.用於區域性變數中,成為靜態區域性變數.靜態區域性變數有兩個用法,記憶功能和全域性生存期.2.用於全域性變數,主要作用是限制此全域性變數被其他的檔案呼叫 3.用於類中的成員.表示這個成員是屬於這個類但是不屬於類中任意特定物件 1.靜態區域性...

C static關鍵字用法

1.全域性靜態變數 在全域性變數前加上關鍵字static,全域性變數就被定義成為全域性靜態變數,存放在靜態儲存區,在整個程式的執行期間一直存在 初始化 未初始化的全域性靜態變數會被自動初始化為0 自動物件的值是任意的,除非他被顯示初始化 作用域 作用域發生改變,僅在當前檔案中有效。2.區域性靜態變數...

c static 關鍵字用法

自 一 static 變數static變數大致分為三種用法 1.用於區域性變數中,成為靜態區域性變數.靜態區域性變數有兩個用法,記憶功能和全域性生存期.2.用於全域性變數,主要作用是限制此全域性變數被其他的檔案呼叫.3.用於類中的成員.表示這個成員是屬於這個類但是不屬於類中任意特定物件 1.靜態區域...