1.在全域性變數之前加上關鍵字static,則該變數被進一步定義成全域性靜態變數。static修改識別符號的鏈結型別external->internal。使得這些符號只能在宣告他們的原始檔中使用。儲存在靜態儲存區,在整個程式的執行期間一直存在。未經初始化的全域性靜態變數會被自動初始化為0。全域性靜態變數在宣告它的檔案外是不可見的,從定義處到檔案的結尾。
2.區域性變數新增static,就成為了區域性靜態變數。也儲存在靜態儲存區,區域性變數(自動物件)沒有顯式初始化的情況下,值是任意的。作用域(作用域在定義它的函式內或者語句塊內)和鏈結屬性不變,這種變數在程式執行前就建立好了,在整個程式的執行期間都存在。離開作用域後並沒有銷毀,而是駐留在記憶體中,當再次被呼叫時,值不變。
3.靜態函式
在函式返回型別前加static,函式就被定義為靜態函式函式的定義和聲預設狀態下都是extern的,但是靜態函式只在本檔案中可見,不能被其他檔案呼叫。ps:cpp內宣告函式都要加上static,只有當多個cpp要用時,再把宣告提到標頭檔案中。
4.類的靜態成員可以實現多個物件之間的資料共享,且不會破壞隱藏的原則。靜態成員是所有實際生成例項的共享成員,只儲存在一處。
5.類的靜態函式
對類的靜態成員引用不需要物件名。靜態函式可以直接引用靜態成員,但是不可以直接應用非靜態成員,這是因為非靜態成員需要將類例項化才能具有實際的意義。呼叫靜態成員函式使用如下格式:《類名》::《靜態成員函式名》(《參數列》)。
被static修飾的類成員變數和成員函式,他們屬於類,而不屬於某乙個具體的物件。
static關鍵字的作用
static關鍵字是c,c 中都存在的關鍵字,它主要有三種使用方式,其中前兩種在c c 語言中使用,第三種只在c 中使用 c,c 中具體細微操作不盡相同,本文以c 為準 1 區域性靜態變數 2 外部靜態變數 函式 3 靜態資料成員 成員函式 下面就這三種使用方式及注意事項分別說明 一 區域性靜態變數...
關鍵字static的作用
關鍵字static的作用是什麼?這個簡單的問題很少有人能回答完全。在c語言中,關鍵字static有三個明顯的作用 1在函式體,乙個被宣告為靜態的變數在這一函式被呼叫過程中維持其值不變。2 在模組內 但在函式體外 乙個被宣告為靜態的變數可以被模組內所用函式訪問,但不能被模組外其它函式訪問。它是乙個本地...
關鍵字Static的作用
1 修飾變數 區域性靜態變數和全域性靜態變數,都存在記憶體的靜態區 區域性靜態變數,在函式體內定義,只能在函式內部使用,同乙個檔案中的其他函式不能用。即使函式執行結束,這個靜態變數的值也不會被銷毀,函式下次使用時仍能用到這個值。全域性靜態變數,在函式外部定義,作用域 從定義處開始,到所在檔案結尾處結...