c語言靜態變數定義
發布時間: 2025-04-27 15:47:58
1. C語言靜態變數問題
static變數
static聲明的變數為「靜態局部變數」,變數內容具有持久性。
該局部變數的值在函數調用結束之後不會消失,而仍然保留其原值。即它所佔用的存儲單元不釋放,在下一次調用該函數時,其局部變數的值仍然存在,也就是上一次函數調用結束時的值。
return m++
前置++是用之前就加1,用的人拿到的一定是新值;後置++是用完之後才加1,用的人拿到的是舊值.
m++中的加法確實做了,而且是在return之前做的,只不過返回值早就保存好了,而且是m在執行加法之前的值
綜述:
第1次:返回0,m變成1
第2次:返回1,m變成2
第3次:返回2,m變成3
第4次:返回3,m變成4
第5次:返回4,m變成5
望採納
2. C語言中靜態變數與動態變數的定義與區別
動態變數和靜態變數定義和區別如下:
1、定義上,靜態變數比動態變數多一個關鍵字static,比如:
動態變數:int i;
靜態變數:static int i;
2、動態變數在子程序中,每次調用時都會從零開始,不會保留原有數據,靜態變數調用時原有值不會發生改變,比如:
main()
{
int i;
for(i=0;i<5;i++)fun();//fun1();
}
void fun() //輸出結果為11111
{
int j;
j++;
printf("%d",j);
}
void fun1() //輸出結果為12345
{
static int j;
j++;
printf("%d",j);
}
熱點內容