C中什么情況下把局部變量定義為局部靜態變量


首先要說明,數組不是變量;C中稱它是具有相同類型元素的集合,嚴格說來它是一種簡單的數據結構——這是題外話。定義在函數中的自動型(就是不用static修飾)數組,函數被調用時才創建,而函數結束后就自動銷毀了,那么函數執行過程中對它的操作就白費了。
定義成static型后,編譯時就為其分配內存空間並永久性保留着,直到程序結束,函數對它的操作就不會丟失了。知道這個原理后,也就知道並不是函數中的數組都得定義成static型,比如操作結果是在屏幕上顯示數組內容,那在函數里作顯示,這就不必用static了……

如果你希望在一個函數中對一個變量只執行一次初始化,以后不再初始化,使用上一次結果,就應該使用靜態局部變量。
例如: static int n; 
其他類型都可以。

解決方案二:

比如說你要在局部計算一個圓的半徑,那么你可以將PI的值申請為static,因為PI以后再也不會變更了!希望能夠幫到你!

解決方案三:

static修飾的變量,可以在任何地方通過類名::變量名的方法訪問他的值,比如你要統計一個類創建的次數,就可以給這個類 寫個static的變量用來計數

解決方案四:

加了static只不過是存儲的位置不一樣了而已,跟是否局部變量沒關系,當然,全局變量加不加static都一樣。



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM