第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關(guān)于64位系統(tǒng)int *,int所占空間的問題

關(guān)于64位系統(tǒng)int *,int所占空間的問題

慕斯王 2019-04-08 11:19:21
在64位系統(tǒng)中,int*變量占64位,而int變量占32位,我想問的是計算機尋址是按64位來的,int變量占32位,內(nèi)部是怎么做到的,還是說實際還是會浪費掉另外32位空間~~
查看完整描述

2 回答

?
侃侃爾雅

TA貢獻(xiàn)1801條經(jīng)驗 獲得超16個贊

就x86-64系統(tǒng)來說,cpu是可以按照字節(jié)尋址的。int*在64位系統(tǒng)上是64-bit是由于x86-64的cpu的虛擬內(nèi)存尋址空間是64位,這樣一個指針也需要是64位才可以容納下一個虛擬內(nèi)存的地址。int是數(shù)據(jù)類型,表明這個數(shù)據(jù)占用32個bits的內(nèi)存空間,如果你想要訪問某個在內(nèi)存中的int數(shù)據(jù)類型,需要一個64bits的指向這個數(shù)據(jù)所在虛擬內(nèi)存地址,這樣cpu才知道去哪里訪問這個數(shù)據(jù)。
                            
查看完整回答
反對 回復(fù) 2019-04-08
?
素胚勾勒不出你

TA貢獻(xiàn)1827條經(jīng)驗 獲得超9個贊

那我一個占128位的struct豈不是要爆掉?:)
int*占64位是因為64位系統(tǒng)支持的最大尋址空間是2^64,也就是內(nèi)存的“長度”。而int變量占32位,可能內(nèi)存的“寬度”是32位,也可能是16位,8位,64位。。。。。。
假設(shè)內(nèi)存的"寬度"是64位,如果int變量是32位的話,那么我一個地址就可以存放兩個int,或者一個int四個char(如果char占8位)。。。。。隨便你組合。又或者這兩個int只是某個struct的一部分而已。
永遠(yuǎn)不要把內(nèi)存的"寬度"(數(shù)據(jù))和內(nèi)存的"長度"(地址)混淆!
                            
查看完整回答
反對 回復(fù) 2019-04-08
  • 2 回答
  • 0 關(guān)注
  • 764 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號