C語言中static關鍵字的用法

2021-09-20 18:43:21 字數 540 閱讀 1206

static關鍵字在c語言中主要有兩種用法:

unsigned char test();

int main()

getchar();

}unsigned char  test()

{static unsigned char i;

i++;

return i;

以上輸出後i的數值會遞增,如果去掉static關鍵字,程式編譯提示區域性變數未初始化。初始化後,程式輸出的i每次呼叫重新賦值。加static後可以不初始化,呼叫過程中程式自動只初始化一次,賦0.然而在keil中不加staic修飾的區域性變數可以有同樣的效果。

2.修飾全域性變數和函式

全域性變數定義在函式體外,在全域性資料區分配儲存空間,編譯器會自動對其初始化。普通的全域性變數對整個工程檔案可見其他檔案可以使用extern外部宣告後直接使用。也就是說其他檔案不能在定義乙個同名的變數了。然而靜態的全域性變數僅對當前檔案可見,其他檔案不可以訪問,所以可以定義同名的變數。所以通過static修飾全域性變數,可以有效降低程式內部不必要的耦合。

修飾函式與全域性變數類似。

C語言中的static關鍵字

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

C語言中的static關鍵字

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

C語言中static關鍵字用法

static關鍵字在c語言中比較常用,使用恰當能夠大大提高程式的模組化特性,有利於擴充套件和維護。變數1.區域性變數 普通區域性變數是再熟悉不過的變數了,在任何乙個函式內部定義的變數 不加static修飾符 都屬於這個範疇。編譯器一般不對普通區域性變數進行初始化,也就是說它的值在初始時是不確定的,除...