2 回答

TA貢獻1846條經(jīng)驗 獲得超7個贊
你在函數(shù)中定義static變量,在定義的時候須得給他賦值,而且在程序運行中,只有第一次調這個函數(shù)時你所賦的值才有效果,之后每次調此函數(shù),都不會重新給他賦值了(例如staitc a = 10,下次跑這個函數(shù)時不會跑這句話了。)。不過你可以在函數(shù)中改變這個值,并且這個值會被保留下來,當你下次調這個函數(shù)的時候,得到的值會是你最后給變量所賦的值。
static 變量 是可以改變的。只是在初始化時候只會賦值一次而已。。。比如你在一個函數(shù)里定義 X 變量,那么你每次調這個函數(shù)都會去定義這個變量吧,但是如果你把 X 定義為 static 類型,那么你只會第一次掉它的時候會去定義它,后面調這個函數(shù)時,X 變量就已經(jīng)存在了不會再去定義。但是它的值還是可以改變的。你可以通過賦值語句改變static變量的值 .

TA貢獻1900條經(jīng)驗 獲得超5個贊
關鍵字static的作用是什么?
這個簡單的問題很少有人能回答完全。在C語言中,關鍵字static有三個明顯的作用:
?; 在函數(shù)體,一個被聲明為靜態(tài)的變量在這一函數(shù)被調用過程中維持其值不變。
?; 在模塊內(nèi)(但在函數(shù)體外),一個被聲明為靜態(tài)的變量可以被模塊內(nèi)所用函數(shù)訪問,但不能被模塊外其它函數(shù)訪問。它是一個本地的全局變量。
?; 在模塊內(nèi),一個被聲明為靜態(tài)的函數(shù)只可被這一模塊內(nèi)的其它函數(shù)調用。那就是,這個函數(shù)被限制在聲明它的模塊的本地范圍內(nèi)使用。
- 2 回答
- 0 關注
- 898 瀏覽
添加回答
舉報