无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(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ó)家法律
枞阳县| 沙洋县| 景德镇市| 涿鹿县| 彩票| 巴青县| 庆阳市| 翼城县| 隆化县| 旬阳县| 蓬溪县| 老河口市| 黄山市| 和政县| 临高县| 广昌县| 永嘉县| 龙里县| 襄城县| 霸州市| 永善县| 靖安县| 松滋市| 河津市| 普定县| 赣榆县| 和静县| 项城市| 繁昌县| 庆阳市| 都安| 沈丘县| 台中市| 林州市| 英超| 青阳县| 镇康县| 张家口市| 宁陵县| 西城区| 茌平县|