野火库函数里的一个定义,额,我是菜鸟,看不太懂,求详解~

typedef union
{
u32 DW;
u16 W[2];
u8 B[4];
struct
{
u32 b0:1; u32 b1:1; u32 b2:1; u32 b3:1; u32 b4:1; u32 b5:1; u32 b6:1; u32 b7:1;
u32 b8:1; u32 b9:1; u32 b10:1;u32 b11:1;u32 b12:1;u32 b13:1;u32 b14:1;u32 b15:1;
u32 b16:1;u32 b17:1;u32 b18:1;u32 b19:1;u32 b20:1;u32 b21:1;u32 b22:1;u32 b23:1;
u32 b24:1;u32 b25:1;u32 b26:1;u32 b27:1;u32 b28:1;u32 b29:1;u32 b30:1;u32 b31:1;
};
}Dtype; //sizeof(Dtype) 为 4

union是联合体,长度是里面元素最长的那个长度。
DW是4个字节
W[2] 也是4个字节
B[4] 也是四个字节
下面的结构体也是四个字节

所以联合体取最大,所以是4个字节长度。
温馨提示:答案为网友推荐,仅供参考
相似回答