當前位置:係統粉 > 電腦問答 > 其他問答 > c++ 共用體地址問題

c++ 共用體地址問題

提問者:雪櫻恨  |  瀏覽 次  |  提問時間:2017-02-01  |  回答數量:7

c++ 共用體地址問題int main (void){union{char i[2];short int k;}r;r.i[0]=0;r.i[1]=2;cout<<r.k;return 0;}該程序結果為512,請問是怎麼來的呢??如何取得i或者k的地址呢?我還是沒搞清楚~謝謝

已有7條答案
暮色驚心

暮色驚心

回答數:30  |  被采納數:134

2017-02-01 18:55:28
r.k為2字節寬,與r.i[]占據相同的內存單元,r.i[0]為r.k的低字節,r.i[1]為高字節,所以有結果r.k=2*256+0=512
取i的地址用r.i即可,取k的地址用&r.k
讚 3
這娃愛貓

這娃愛貓

回答數:146  |  被采納數:9

2017-02-01 22:36:19
由於低字節在前,高字節在後,所以r.i[0]和r.i[1]組成的16進製值為:0x200,不就是512嗎?
讚 14
laidingwei

laidingwei

回答數:209  |  被采納數:50

2017-02-01 19:26:45
256從哪裏來的呢??0X200又怎麼來的啊.......能不能再詳細的說下,謝謝了

內存單元是16進製組成的嗎(0x200)?小弟是新手,麻煩大家了
讚 20
大織男尼桑w

大織男尼桑w

回答數:126  |  被采納數:100

2017-02-01 23:09:35
http://bbs.cfanclub/thread-284576-1-1.html
讚 12
深海尋人深海遇

深海尋人深海遇

回答數:143  |  被采納數:71

2017-02-02 05:02:13
隻知道OX(高字節)(低字節).....上麵寫的2*256還是不明白....
看來前麵有地方沒理解好
讚 14
lzq635243502

lzq635243502

回答數:6  |  被采納數:3

2017-02-02 03:42:27
16進製的0x200就是十進製的512呀,兩個字節的內容分別是00 02
讚 0
wc8888886

wc8888886

回答數:67  |  被采納數:125

2017-02-02 13:58:12
啊...謝謝,腦袋突然卡住了.....

6樓已解決
讚 6
解決方法
  • Win7係統完美解決IP地址有衝突問題

    Win7係統完美解決IP地址有衝突問題

    關於在Win7旗艦版電腦IP地址與其他電腦有衝突的解決方法總是能見到很多用戶為此煩惱。當用戶使用電腦的時候,有時會提示IP地址有衝突,無法上網的問題確實讓人...

  • Windows XP係統中查找MAC地址問題

    Windows XP係統中查找MAC地址問題

      問:我原來使用的是Windows 98,裏麵提供了一個叫Winipcfg.exe的工具,它可以方便地檢查IP網絡詳細信息,我在升級到了Windows XP後卻無法找到這...

  • ip地址出現異常怎麼辦 怎麼解決電腦一直獲取網絡地址的問題

    ip地址出現異常怎麼辦 怎麼解決電腦一直獲取網絡地址的問題

    今天給大家帶來ip地址出現異常怎麼辦,怎麼解決電腦一直獲取網絡地址的問題,讓您輕鬆解決問題。網絡狀態總是正在獲取網絡地址怎麼解決 如何解決網絡IP地址配置異常第一步.DHCP ...

  • win8旗艦版計算機如何共享打印機地址

    win8旗艦版計算機如何共享打印機地址

    win8旗艦版電腦間需要設置打印機共享,這樣才能讓多人使用打印機,那麼win8旗艦版計算機如何共享打印機地址?需要怎麼設置?想知道具體操作步驟的用戶可以參考以下的教程。win8計算...

版權信息

Copyright @ 2011 係統粉 版權聲明 最新發布內容 網站導航