位置:首頁 > 軟件操作教程 > 編程開發(fā) > C語言 > 問題詳情

在C語言中,用static聲明局部變量

提問人:楊紫紅發(fā)布時間:2020-11-16
函數(shù)中變量的值在函數(shù)調(diào)用結(jié)束后不消失而保留原值,在下次該函數(shù)調(diào)用時,該變量已有值,即為上一次函數(shù)調(diào)用結(jié)束時的值。該局部變量為靜態(tài)局部變量。
說明:
1、靜態(tài)局部變量屬于靜態(tài)存儲類別,在靜態(tài)存儲區(qū)內(nèi)分配存儲單元。在程序整個運行期都不釋放。自動變量屬于動態(tài)存儲類別,占動態(tài)存儲區(qū)空間,函數(shù)調(diào)用結(jié)束后即釋放。
2、對靜態(tài)局部變量在編譯時賦初值,程序運行時,它已有初值,以后每次調(diào)用函數(shù)時不再重新賦初值而只是保留上次函數(shù)調(diào)用結(jié)束時的值。對自動變量賦初值,不是在編譯時進行的,而是在函數(shù)調(diào)用時進行,每調(diào)用一次函數(shù)重新給一次初值。
3、對靜態(tài)局部變量來說,如不賦初值,編譯時自動賦初值0或空字符。
   對自動變量來說,如不賦初值,它的值是一個不確定的值。
4、雖然靜態(tài)局部變量在函數(shù)調(diào)用結(jié)束后仍然存在,但其他函數(shù)不能引用。

繼續(xù)查找其他問題的答案?

相關視頻回答
回復(0)
返回頂部