1、改變了變數的儲存方式(從棧區變成全域性區),即改變了變數的生命週期。 2、
static
區域性變數只初始化一次,沒有顯示初始化時預設為
01、全域性變數前面加上static
,儲存方式沒有改變。
2、static全域性變數改變了作用域,限制了使用範圍,只能在定義了該變數的原始檔有效, 在同一源程式的不同原始檔中不能使用,即本地的全域性變數。非靜態全域性變數在同一源程式的不同源文 件中都是有效的。
3、static全域性變數只初始化一次,沒有顯示初始化時預設為0。
1、static
函式限制了使用範圍,只能在當前原始檔中使用,相當於內部函式。
c++類中, 為了避免不同類中相同名字函式的重定義錯誤,在函式前面加上static。
2、static
函式在記憶體中只儲存乙份,普通函式在每個被呼叫中維持乙份拷貝
注:引用乙個已經定義過的全域性變數:
1、引用標頭檔案
將全域性變數寫錯了,將會在編譯的時候報錯。
在不同的.c
檔案中以
static
形式宣告同名的全域性變數,在不同的
.c檔案中宣告同名 全域性變數時,只能有乙個.c
檔案中對其賦值,否則鏈結出錯。
2、extern關鍵字
將全域性變數寫錯了,編譯的時候不會報錯,鏈結的時候會報錯。
C C 中static關鍵字作用總結
1.先來介紹它的第一條也是最重要的一條 隱藏。static函式,static變數均可 當同時編譯多個檔案時,所有未加static字首的全域性變數和函式都具有全域性可見性。舉例來說明。同時編譯兩個原始檔,乙個是a.c,另乙個是main.c。a.cchar a a global variable voi...
C C 中static關鍵字作用總結
原文 1.先來介紹它的第一條也是最重要的一條 隱藏。static函式,static變數均可 當同時編譯多個檔案時,所有未加 static字首的全域性變數和函式都具有全域性可見性。舉例來說明。同時編譯兩個原始檔,乙個是a.c,另乙個是main.c。a.cchar a a global variable...
C C 中static關鍵字作用總結
c c 中static關鍵字作用總結 1.先來介紹它的第一條也是最重要的一條 隱藏。static函式,static變數均可 當同時編譯多個檔案時,所有未加static字首的全域性變數和函式都具有全域性可見性。舉例來說明。同時編譯兩個原始檔,乙個是a.c,另乙個是main.c。char a a glo...