C static關鍵字解析

2021-09-24 04:12:22 字數 425 閱讀 7779

1、static關鍵字修飾全域性變數時,該變數儲存在**區,初始化時機在main函式之前(好像所有全域性變數的初始化時機都是在main函式之前切被初始化為0)。且static修飾的全域性變數僅限於本編譯單元(乙個編譯單元即是乙個cpp檔案)可訪問。

2、static修飾區域性變數(即函式內部的變數),儲存在靜態區,但是訪問許可權僅限於該變數所屬函式,初始化時機為第一次呼叫該函式,且此時該變數具有記憶性(即第一次呼叫該函式後對該靜態變數進行了修改,第二次再呼叫該函式就會直接訪問上次呼叫修改後的值,不會再對改該靜態變數進行初始化)。

3、static修飾類的成員變數和類的成員函式:此時被static修飾的成員變數屬於類,可以被類的所有物件共享,且所有物件都可以修改該變數,且會影響到其他變數。static修飾的成員函式(稱為類的靜態成員函式)屬於類,且類的靜態成員函式不能訪問類的非靜態變數,因為沒有this指標。

c static 關鍵字用法

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

C static關鍵字作用

1.static修飾全域性變數 當同時編譯多個檔案時,所有未加static字首的全域性變數和函式都具有全域性可見性,其它的原始檔也能訪問。未加static的全域性變數,在符號表中是global符號,其他目標檔案可見,這樣的符號是要參與符號解析的。加了static之後,是local符號,其他目標檔案不...

C static關鍵字詳解

color blue size large 1.預備知識 動態儲存和靜態儲存 記憶體中供使用者使用的儲存空間可以分為三部分,即 程式區,靜態儲存區,動態儲存區 資料分別存放在靜態儲存區和動態儲存區中。全域性變數儲存在靜態儲存區中,在程式開始執行時給全域性變數分配儲存單元,程式執行完畢就釋放這些單元。...