C語言中,關鍵字static的作用

在C語言中,關鍵字static有三個明顯的作用:

 

1)在函數體,局部的static變量。生存期爲程序的整個生命週期,(它存活多長時間);作用域卻在函數體內(它在什麼地方能被訪問(空間))。 一個被聲明爲靜態的變量在這一函數被調用過程中維持其值不變。因爲它分配在靜態存儲區,函數調用結束後並不釋放單元,但是在其它的作用域的無法訪問。當再次調用這個函數時,這個局部的靜態變量還存活,而且用在它的訪問空間,因此訪問到的是上次調用後的值。

 

2) 在文件模塊內(但在函數體外),一個被聲明爲靜態的全局變量可以被模塊內所有函數訪問,但不能被模塊外其它函數訪問。它是一個本地的全局變量。限制靜態全局變量的作用域。

 

3) 在文件模塊內,一個被聲明爲靜態的函數只可被這一模塊內的其它函數調用。那就是,這個函數被限制在聲明它的模塊的本地範圍內使用。函數默認情況下是全局函數,可以被任意其它文件模塊調用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章