作者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