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

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

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

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

相關(guān)視頻回答
回復(fù)(0)
返回頂部