2 回答

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

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