[問題]一個使用 union的問題
這是課本中的例子
#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
02/18 19:29, 1F
推
02/18 21:02, , 2F
02/18 21:02, 2F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章