static 修飾區域性變數 改變了變數的生命週期-變長
void
test()
int main()
return0;
}
執行結果
static修飾區域性變數a:生命週期在整個函式
void
test()
int main()
return0;
}
執行結果
static修飾全域性變數,改變了全域性變數的作用域-變小了。
static修飾的全域性變數只能在自己所在的.c檔案中使用,不能在其他原始檔中使用。
extern int g_val;
//extern是宣告外部符號的
int main()
建立新原始檔定義全域性變數g_val
static int g_val = 2020;
執行結果:
error lnk2001: 無法解析的外部符號 _g_val
此時去掉變數g_val的修飾字static
int g_val = 2020;
static修飾函式時,與修飾全域性變數相同,static修飾的函式只能在本原始檔內使用,不能在其他原始檔使用。
extern int add
(int x, int y)
;int main()
建立新的原始檔,定義函式
static
add(int x, int y)
執行結果:error lnk2019: 無法解析的外部符號 _add,該符號在函式 _main 中被引用
去掉static關鍵字
add
(int x, int y)
extern int add
(int x, int y)
;int main()
static關鍵字的作用
static關鍵字是c,c 中都存在的關鍵字,它主要有三種使用方式,其中前兩種在c c 語言中使用,第三種只在c 中使用 c,c 中具體細微操作不盡相同,本文以c 為準 1 區域性靜態變數 2 外部靜態變數 函式 3 靜態資料成員 成員函式 下面就這三種使用方式及注意事項分別說明 一 區域性靜態變數...
關鍵字static的作用
關鍵字static的作用是什麼?這個簡單的問題很少有人能回答完全。在c語言中,關鍵字static有三個明顯的作用 1在函式體,乙個被宣告為靜態的變數在這一函式被呼叫過程中維持其值不變。2 在模組內 但在函式體外 乙個被宣告為靜態的變數可以被模組內所用函式訪問,但不能被模組外其它函式訪問。它是乙個本地...
關鍵字Static的作用
1 修飾變數 區域性靜態變數和全域性靜態變數,都存在記憶體的靜態區 區域性靜態變數,在函式體內定義,只能在函式內部使用,同乙個檔案中的其他函式不能用。即使函式執行結束,這個靜態變數的值也不會被銷毀,函式下次使用時仍能用到這個值。全域性靜態變數,在函式外部定義,作用域 從定義處開始,到所在檔案結尾處結...