C語言中的static關鍵字的用法

2021-10-05 21:45:26 字數 766 閱讀 4108

用法:

主要定義全域性靜態變數,區域性靜態變數和靜態函式

作用:在某些情況下能夠大大提高程式的模組化特性,有利於擴充套件和維護,增強程式的健壯性.

普通區域性變數儲存於程序棧空間,使用完畢會立即釋放.

變數在全域性資料區分配記憶體空間;編譯器自動對其初始化.

其作用域為區域性作用域,當定義它的函式結束時,其作用域隨之結束

靜態區域性變數使用static修飾符定義,即使在宣告時未賦初值,編譯器也會把它初始化為0。且靜態區域性變數儲存於程序的全域性資料區,即使函式返回,它的值也會保持不變。

而普通的變數初值往往是乙個隨機數.

靜態區域性變數的效果跟全域性變數差不多,但是位於函式體內部,更有利於模組化.

靜態全域性變數僅對當前檔案可見,其他檔案不可訪問,其他檔案可以定義與其同名的變數,兩者互不影響。

在定義不需要與其他檔案共享的全域性變數時,加上static關鍵字能夠有效地降低程式模組之間的耦合,避免不同檔案同名變數的衝突,且不會誤使用。

定義靜態函式:在函式返回型別前加上static關鍵字,函式即被定義為靜態函式,其特點如下:

a.靜態函式只能在本原始檔中使用

b.在檔案作用域中宣告的inline函式預設為static型別

用static定義的全域性和區域性靜態變數的區別是,全域性的靜態變數的作用域和可見域都是從檔案的定義開始到整個檔案結束;而區域性的靜態變數可見域是從檔案的定義開始到整個檔案結束,作用域是從該語句塊的定義開始到該語句塊結束。

C語言中的static關鍵字

c語言中的變數 1.自動變數。變數在執行到他的塊尾時就超出了作用域,它在堆疊上分配的記憶體會被釋放,以供另乙個函式使用。它們是在宣告時自動建立的,在程式退出宣告它的塊後自動刪除。2.全域性變數。可以在任意位置訪問,它的宣告方式和一般變數相同,但是它的位置非常重要,這個位置決定了變數是否為全域性變數。...

C語言中的static關鍵字

static關鍵字,意為靜態。靜態區域性變數void add test 靜態全域性變數 c程式一直由下列部分組成 1 正文段 cpu執行的機器指令部分 乙個程式只有乙個副本 唯讀,防止程式由於意外事故而修改自身指令 2 初始化資料段 資料段 在程式中所有賦了初值的全域性變數,存放在這裡。3 非初始化...

C語言中static關鍵字的思考

在 c語言中,static 的字面意思很容易把我們匯入歧途,其實它的作用有三條。首先static的 1 最主要功能是隱藏。2 其次因為 static 變數存放在靜態儲存區,所以它具備永續性。3 和預設值0。1 先來介紹它的第一條也是最重要的一條 隱藏。當我們同時編譯多個檔案時,所有未加static字...