1. 靜態全域性變數
在全域性變數之間加上static關鍵字,就被定義為靜態全域性變數。
特點:在全域性資料區分配記憶體
未初始化則被自動初始化為0
在宣告它的檔案內可見,在宣告它之外的檔案不可見,其他檔案中可使用同名變數
2. 靜態區域性變數
在區域性變數前加上static關鍵字,就被定義為靜態區域性變數
特點:在全域性資料區分配記憶體,但是作用域為區域性作用域
一般在宣告時初始化,只能被顯示初始化一次,以後呼叫該函式時不被初始化
若未顯示初始化,初始化為0
3.靜態函式
在函式返回型別前加上static關鍵字,就被定義為靜態函式
特點:只在宣告它的檔案中可見,在其他檔案中不可見
其他檔案中可以有與之同名的函式
4.靜態資料成員
在類資料成員宣告前加上static關鍵字,就被定義為靜態資料成員
特點:無論類物件有多少個,靜態資料成員只有乙份拷貝,被所有物件共享訪問,只分配一次記憶體,值可以更新
靜態資料成員儲存在全域性資料區,在定義時要分配空間,所以不能在宣告時定義(賦值),可以在宣告第乙個物件時初始化,格式為
<資料型別><類名>::<靜態資料成員名>=<值>,該初始化可以放在類定義裡,這樣類宣告物件時即可初始化
靜態資料成員遵守public,private,protect訪問規則
同全域性變數相比,可以實現資訊隱藏,而且由於沒有進入全域性名字空間,所以不會有命名衝突
5.靜態成員函式
在類成員函式前加入static關鍵字,就被定義為靜態成員函式
特點:為類服務而不是為某個物件服務,是類的內部實現,屬於類定義的一部分
由於靜態成員函式不與類物件聯絡,所以不存在預設的this指標,所以也無法訪問非靜態資料成員,也無法訪問非靜態成員函式
除了使用成員訪問操作符(.和->)外還可以直接訪問靜態成員函式,格式為<類名>::<靜態成員函式名>(<參數列>)
C static關鍵字用法總結
c static 關鍵字用法總結 1.首先解釋一下static 是什麼意思?static 是靜態的意思,既然是靜態,就是不變的,而不變就是他不會因為類中例項化物件的不同而不同,它在類中永遠只有乙份,就像中國人有許多,但我們只有乙個國家中國。2 由static 修飾的歸屬問題 由static 修飾的不...
C static關鍵字作用總結
c 中static關鍵字作用總結 1.先來介紹它的第一條也是最重要的一條 隱藏。static函式,static變數均可 當同時編譯多個檔案時,所有未加static字首的全域性變數和函式都具有全域性可見性。舉例來說明。同時編譯兩個原始檔,乙個是a.c,另乙個是main.c。複製 char a a gl...
c static關鍵字用法總結
也是因為在最近的面試中,幾乎每次必問static關鍵字的用法,但是總會說漏一點,因為自己平時寫 貌似用得也不多 菜雞嘛,可以理解 要想答得完美,還是得總結一下,static共有五種用法,下次就直接背給面試官聽咯,不不不,得理解,用 說服之。1 修飾區域性變數 位於靜態儲存區,作用域為區域性,但有點類...