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

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

以下程序輸出結(jié)果具體是什么?求指教?

以下程序輸出結(jié)果具體是什么?求指教?

繁華開滿天機 2022-05-13 13:11:52
union { int i; char x[2]; }a; int main() { a.x[0]=10; a.x[1]=1; printf("%d\n",a.i); return 0; } 輸出結(jié)果是什么,具體解釋。謝謝
查看完整描述

2 回答

?
縹緲止盈

TA貢獻2041條經(jīng)驗 獲得超4個贊

公用體公用一個內(nèi)存區(qū)域sizeof(a)為共用體成員中長度最長的成員的size。即i
int: (|_|_|_|_|_|_|_|_|)(|_|_|_|_|_|_|_|_|)(|_|_|_|_|_|_|_|_|)(|_|_|_|_|_|_|_|_|)
char x[2] : (|_|_|_|_|_|_|_|_|)(|_|_|_|_|_|_|_|_|)
^ ^
高地址 低地址
分析:
a.x[0] = 10 ========================> (|0|0|0|0|1|0|1|0|)
a.x[1] = 1 ======================> (|0|0|0|0|0|0|0|1|)
公用體公用sizeof(int)長度即4字節(jié)32為,則賦值后共用體內(nèi)存為
a: (|0|0|0|0|0|0|0|0|)(|0|0|0|0|0|0|0|0|)(|0|0|0|0|0|0|0|1|)(|0|0|0|0|1|0|1|0|)
a.i 為4字節(jié)整型
則 i = 2^8 + 2^3 + 2^1 = 256 + 8 + 2 = 266

查看完整回答
反對 回復 2022-05-16
?
慕婉清6462132

TA貢獻1804條經(jīng)驗 獲得超2個贊

union 只分配一塊內(nèi)存,有i和x公用, 即修改了x的內(nèi)容,i的內(nèi)容也改變了
按照內(nèi)存分布,x 改之后內(nèi)存為 0x010a
也就是說,i的內(nèi)存時0x10a
也就是10進制266

查看完整回答
反對 回復 2022-05-16
  • 2 回答
  • 0 關(guān)注
  • 121 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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