各位C++的大侠们,帮我看看下面定义的union,里面的参数是什么意思,
各位C++的大侠们,帮我看看下面定义的union,里面的参数是什么意思,
如上图:
typedef union
{
WORD Val;
BYTE v[2] __PACKED;
struct __PACKED
{
BYTE LB;
BYTE HB;
} byte;
struct __PACKED
{
__EXTENSION BYTE b0:1;
__EXTENSION BYTE b1:1;
__EXTENSION BYTE b2:1;
__EXTENSION BYTE b3:1;
__EXTENSION BYTE b4:1;
__EXTENSION BYTE b5:1;
__EXTENSION BYTE b6:1;
__EXTENSION BYTE b7:1;
__EXTENSION BYTE b8:1;
__EXTENSION BYTE b9:1;
__EXTENSION BYTE b10:1;
__EXTENSION BYTE b11:1;
__EXTENSION BYTE b12:1;
__EXTENSION BYTE b13:1;
__EXTENSION BYTE b14:1;
__EXTENSION BYTE b15:1;
} bits;
} WORD_VAL,WORD_BITS;
你这个union定义的是个对字操作的对象,根据不同的操作要求,有几种变体啊typedef union{WORD Val;//大部分操作只针对字整体的BYTE v[2] __PACKED;//操作需要针对字,字节的...有个地方出现:WORD_VAL wv;wv.v[1]和wv.v[0]是什么呢?谢谢第一句定义了一个你所定义的共同体的一个实例。后面两个是访问共同体数据啊,这个操作也会顺便把共同体变成第二个定义的模式。也就是BYTE v[2] __PACKED; //