国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

軟件測(cè)試 | 全局變量和局部變量有什么區(qū)別?

2023-05-19 15:31 作者:愛測(cè)軟件測(cè)試  | 我要投稿

它們之間主要的區(qū)別是變量的作用范圍不同。全局變量在全局范圍內(nèi)都有效,而局部變量只在聲明變量的作用域內(nèi)有效。全局變量是屬于實(shí)例的,在初始化對(duì)象的時(shí)候初始化,生命周期與該實(shí)例相同,之所以叫全局變量是因?yàn)樵搶?shí)例中的所有方法或?qū)傩远伎梢砸?;局部變量是在?shí)例方法內(nèi)或Static塊中,聲明周期從調(diào)用該方法到該方法退出,并且只有該方法能夠引用之。全局變量都有可能,一般來(lái)說(shuō)存儲(chǔ)在堆棧段。

操作系統(tǒng)和編譯器通過內(nèi)存分配的位置來(lái)知道全局變量分配在全局?jǐn)?shù)據(jù)段,并且在程序被運(yùn)行的時(shí)候就被加載。

編譯器通過語(yǔ)法詞法的分析,判斷出是全局變量還是局部變量。如果是全局變量的話,編譯器在將源代碼翻譯成二進(jìn)制代碼時(shí)就為了全局變量分配好一個(gè)虛擬地址(Windows 下0x00400000以上的地址,也就是所說(shuō)的全局區(qū)),所以,程序在對(duì)全局變量的操作時(shí)是對(duì)一個(gè)硬編碼的地址操作。

局部變量,編譯時(shí)不分配空間,而是以相當(dāng)于ebp或esp的偏移來(lái)表示局部變量的地址,所以,局部變量?jī)?nèi)存是在局部變量所在的函數(shù)被調(diào)用時(shí)才真正分配。以匯編的角度來(lái)看:函數(shù)執(zhí)行時(shí),局部變量在棧中分配,函數(shù)調(diào)用完畢釋放局部變量對(duì)應(yīng)的內(nèi)存,另外,局部變量可以直接分配在寄存器中。

操作系統(tǒng)通過變量的分配地址就可以判斷出是局部變量和全局變量。


軟件測(cè)試 | 全局變量和局部變量有什么區(qū)別?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
五常市| 金门县| 巴塘县| 石阡县| 井冈山市| 望城县| 长沙县| 永安市| 高青县| 青川县| 玉屏| 黄山市| 镇远县| 苏尼特左旗| 五华县| 朝阳区| 南宫市| 本溪市| 德保县| 梁河县| 洛南县| 小金县| 石城县| 淳化县| 丰原市| 河间市| 乾安县| 池州市| 嘉峪关市| 芦山县| 宁明县| 兴义市| 华安县| 龙里县| 和田市| 荣成市| 乌鲁木齐县| 达州市| 双城市| 揭西县| 武山县|