最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
郴州市| 孟津县| 昔阳县| 和田市| 外汇| 翁牛特旗| 名山县| 台江县| 那坡县| 莱州市| 荣成市| 高平市| 青冈县| 武清区| 武安市| 红桥区| 普洱| 合山市| 汤原县| 屯门区| 电白县| 罗源县| 加查县| 沂水县| 灵台县| 莒南县| 商城县| 乐都县| 含山县| 毕节市| 长海县| 隆林| 汝州市| 安溪县| 奉节县| 松桃| 庆元县| 永福县| 商南县| 邯郸市| 新竹市|