目錄
ststic修飾區域性變數,會改變區域性變數的生命週期,不改變作用域:
生命週期:和全域性變數一樣具有全域性性,但在記憶體中的位置沒有改變,還在在靜態儲存區中。
作用域:作用域不改變。
注意:靜態區域性變數的初始化在整個變數定義時只會進行一次。
(1)不加static
#include
show()
int main()
return 0;
}(2)加static
#include
show()
int main()
return 0;
}(3)靜態區域性程式設計客棧變數的初始化只會進行一次
#include
show()
int main()
return 0;
}static修飾全域性變數,表示全域性變數只在本檔案內有效,取消了全域性變數的跨檔案屬性。
由於static對全域性變數的作用在乙個檔案裡體現不出來,固我們建立兩個檔案,
在test1.c中通過extern引用外部變數g_vale,在test2.c中建立全域性變數g_vale 。
(1)不加static
test1.c:
#include
extern int g_vale;
int main()
test2.c:
#include
int g_vale = 100;//定義全域性變數
編譯執行:
(2)加static
test1.c
#include
extern int g_vale;
int main程式設計客棧()
test2.c
#include
static int g_vale = 100; //定義靜態全域性變數
編譯執行:執行失敗,無法解析外部符號g_vale
static修飾函式,和其修飾全域性變數類似,表示函式只可在本檔案內呼叫使用,取消了函式的跨檔案屬性。
由於static對函式的作用在乙個檔案裡體現不出來,固我們建立兩個檔案,
在test1.c中通過extern引用外部函式show( ),在test2.c中建立show( )函式
(1)不加static
test1.c:
#include
extern show();//也可以不寫宣告,檔案在鏈結時也可以找到,但會出現warning:show()未定義
int main()
test2.c:
#include
void show()
編譯執行:
(2)加statwww.cppcns.comic
test1.c:
#include
extern show();
int main()
test2.c:
#include
static void show()
編譯執行:執行失敗,無法解析外部符號show
C語言入門篇
目錄 1 字面意思是啥就是啥,看其表示就可以知道其值和類www.cppcns.com型。2 有值無名,一用來初始化變數,與一種字元相關聯。www.cppcns.com include int main 1 常變數 c語言中,把用const修飾的變數稱為常變數。2 常變數具有常量屬性,不可被直接修改 ...
C語言入門篇
目錄 加 減 乘 除 取模 除法運算分母不可為零,否則程式會中斷報錯,所以要在程式中檢驗分母是否為零。取模即取餘數。右移 左移 1.移位運算是站在二進位制角度移位的 eg include int main 2.左移右移,原始變數值不發生變化除非給原始變數賦值 3.整數移位運算不能整除時,只保留整數部...
C語言入門篇
變數即變化的量。c語言中用 常量 來表示不變的值,用 變數 表示變化的值。eg 輸出26個字母 include int main printf n return 0 int te程式設計客棧mp int age 21 float weight 51.2f char ch v int a 10 格式 ...