1樓:於冬
先說一下區域性靜態和全域性靜態這個說法,首先靜態變數都是全域性的,只是訪問域不同,事實上他們都在全程存在並占用記憶體。其次,全域性變數靜不靜態沒區別,這個你細品品
2樓:dc lin
靜態區域性變數,指的是希望在整個程式執行期間,都會保留記憶體,但只能在函式範圍內有效的變數,這主要是為了封裝的需要,就是說本來應該用全域性變數,但是全域性變數不好復用,名聲不好,所以改為只在函式中有效,這樣就能有效封裝,參看下面的經典例子:
為了統計函式被呼叫了幾次:
#include
void
f1()
void
f2()
intmain
()輸出:
f1()
hasbeen
called
1times.f1
()has
been
called
2times.f2
()has
been
called
1times.f2
()has
been
called
1times
.上面作為對比,也列出了非靜態區域性變數的函式例子,可以參考。
靜態全域性變數沒那麼複雜,其實就是當多個檔案鏈結在一起的時候,對於普通的全域性變數(非靜態全域性),可以在不同的檔案中引用,但是靜態說明的全域性變數則只能在本檔案的函式中使用,再一次,這是涉及到封裝的設計,這樣做的好處,就是你定義的全域性變數只會在本檔案中使用,其名字不會汙染其他的檔案的全域性空間。
3樓:zerro
這些都屬於工程範疇,就是我想要他是全域性的,但我還要精確控制他的「許可權」,我不希望別人亂改它,不希望別人讀取它,甚至不希望別人知道它的存在。
4樓:小莊讀書
1、靜態區域性變數
在函式內部,可用來統計函式的被呼叫次數。
3、靜態全域性變數
僅變數所在檔案可見,作為檔案內的全域性變數使用,不同的檔案可以定義相同名字的變數,而不會引起命名衝突。因此,使用場景就是想定義乙個只在當前檔案可見的變數——其它檔案感知不到這個變數。
請問能否有這樣的乙個飛行器 座椅下面是向上吹的螺旋槳,用於騰空。座椅後面是向前吹的螺旋槳,用於前進?
琥珀川 你的想法幾十年前已經突破這種技術了,蘇聯的雅克38,英國的鷂式,和美國的f35 都採用了這種方式進行垂直起降。不同的是,你說的螺旋槳,他們都用的是推力更大的噴氣發動機。 白潁川 你這麼想沒問題。但是有乙個前提條件,有沒有必要?目前所有的旋翼飛機都可以實現直上直下,向前向後,因為我可以偏轉螺旋...
能否推薦幾個不錯的動漫?
子瑜 我覺得 可塑性記憶 很不錯欸 是我到目前為止看的番中覺得能讓我心動的感覺 霧當然 這是殭屍嗎 也很不錯搞笑番 超能力女兒 也蠻不錯的 然後我要安利我的入宅神作 天降之物 真的超級棒欸 66ccff 推兩個國漫 那些太火的類似狐妖,全職的就不用說了 推 端腦 懸疑類,看著也很刺激,畫風也可以 饅...
請問,電熱毯應該放在褥子下面還是床單下面?
三寶媽媽 電熱毯的最佳位置,是下面鋪一層薄褥子,電熱毯在中間,然後上面鋪一層床單。類似於是三明治的形狀,電熱毯在最中間。因為一般來說,電熱毯為了避免摺疊,都會選擇比較硬一些的床,利於平鋪舒展。但是如果電熱毯直接鋪在硬床板上,不舒服不說,還很容易壓壞裡面的線路。所以,電熱毯的下面首先要放一層褥子,是為...