看板 C_and_CPP 關於我們 聯絡資訊
這是課本中的例子 #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
williamyu:0x是16進制 02/18 19:29
varg:cast成short 其實不加也沒差 內容還是一樣 02/18 21:02