[問題]一個使用 union的問題

看板C_and_CPP (C/C++)作者 (MR.CQC)時間16年前 (2009/02/18 19:22), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串1/1
這是課本中的例子 #include <iostream.h> void main() { union { short a; char b[2]; } d; d.a = 0x1234; cout << "d.a = 0x" << hex << d.a << endl; cout << "d.b[0]= 0x" << hex << (short) d.b[0] << endl; cout << "d.b[1]= 0x" << hex << (short) d.b[1] << endl; d.b[0] = 0x56; cout << "d.a = 0x" << hex << d.a << endl; } 這個例子中有兩個地方不太懂 第一個是 d.a = 0x1234 d.a 不是short的資料型態嗎? 可是給的值怎麼有x 第二個是 cout的地方 d.b陣列 前面為什麼 要多加上 (short) 謝謝指教~~^^" -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.108.169

02/18 19:29, , 1F
0x是16進制
02/18 19:29, 1F

02/18 21:02, , 2F
cast成short 其實不加也沒差 內容還是一樣
02/18 21:02, 2F
文章代碼(AID): #19c--9kT (C_and_CPP)
文章代碼(AID): #19c--9kT (C_and_CPP)