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

歡迎光臨散文網(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ó)家法律
万安县| 赫章县| 墨玉县| 建德市| 承德市| 平舆县| 金山区| 光泽县| 河池市| 湛江市| 广安市| 鄂州市| 塔河县| 中超| 姚安县| 泰来县| 肃宁县| 平安县| 万州区| 芜湖县| 和顺县| 拉萨市| 高州市| 通河县| 弥勒县| 株洲市| 东丰县| 澄江县| 辉南县| 西贡区| 顺昌县| 鹰潭市| 渭源县| 宝清县| 万山特区| 沂源县| 剑川县| 理塘县| 景宁| 渝中区| 阳曲县|