作者ho211427 (MR.CQC)
看板C_and_CPP
標題[問題]一個使用 union的問題
時間Wed Feb 18 19:22:46 2009
這是課本中的例子
#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
1F:推 williamyu:0x是16進制 02/18 19:29
2F:推 varg:cast成short 其實不加也沒差 內容還是一樣 02/18 21:02