c語言中的static

2021-07-09 13:10:12 字數 387 閱讀 4649

1、用static宣告區域性變數

用關鍵字static宣告區域性變數為「靜態區域性變數」時,可以讓該區域性變數在函式呼叫結束後不消失而保留原值,即其占用的儲存單元不釋放。

static int a = 1;

2、用static宣告外部變數

有時在程式設計中,希望某些外部變數只限於被本檔案引用,而不能被其他檔案引用。這時,可以在定義外部變數時加乙個static宣告。

3、用static定義內部函式

如果乙個函式只能被本檔案其他函式所呼叫,他成為內部函式。在定義內部函式時,在函式名和函式型別的前面加static。

static int fun(int a, int b);

C 語言中的static

static 在c語言中,關鍵字 static 有三個明顯的作用 1 在函式體,乙個被宣告為靜態的變數在這一函式被呼叫過程中維持其值不變。2 在模組內 但在函式體外 乙個被宣告為靜態的變數可以被模組內所用函式訪問,但不能被模組外其它函式訪問。它是乙個本地的全域性變數。3 在模組內,乙個被宣告為靜態的...

C語言中的static

c程式一直由下列部分組成 1 正文段 cpu執行的機器指令部分 乙個程式只有乙個副本 唯讀,防止程式由於意外事故而修改自身指令 2 初始化資料段 資料段 在程式中所有賦了初值的全域性變數,存放在這裡。3 非初始化資料段 bss段 在程式中沒有初始化的全域性變數 核心將此段初始化為0。5 堆 動態儲存...

C語言中的static

在c語言中static有兩個作用,乙個是在函式中宣告變數,這樣就不會在函式的每次呼叫中都會重新初始化其值。二是宣告全域性的靜態變數或者函式。對於宣告的靜態變數或者函式,那麼它就只能在本編譯單元可見,其他編譯單元中不可見。那麼什麼叫做乙個編譯單元呢?一般來講,乙個c原始檔就是乙個編譯單元,那麼標頭檔案...