c中的static變量

本博客不再更新,更多精彩內容請訪問我的獨立博客

當一個進程的全局變量被聲明爲static之後,它的中文名叫靜態全局變量。靜態全局變量和其他的全局變量的存儲地點並沒有區別,但是它只在定義它的源文件內有效,其他源文件無法訪問它。

static局部變量中文名叫靜態局部變量。它與普通的局部變量比起來有如下幾個區別:

1)位置:靜態局部變量被編譯器放在全局存儲區,所以它雖然是局部的,但是在程序的整個生命週期中存在。

2)訪問權限:靜態局部變量只能被其作用域內的變量或函數訪問。也就是說雖然它會在程序的整個生命週期中存在,由於它是static的,它不能被其他的函數和源文件訪問。

3)值:靜態局部變量如果沒有被用戶初始化,則會被編譯器自動賦值爲0,以後每次調用靜態局部變量的時候都用上次調用後的值。

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