#include <stdio.h>
typedef union{
unsigned short a;
struct {
unsigned short c:4;
unsigned short d:8;
unsigned short e:4;
};
}A;
int main () {
A an ={
.c = 1,
.d = 10,
.e = 3
};
printf("%x \n %x %x %x\n",an.a,an.c,an.d,an.e);
return 0;
}
结果:
30a1
1 a 3