#include<stdio.h>
#include<string.h>
int main(){
unsigned char arr[4];
struct str{//位段
unsigned char a;
unsigned char b : 1;
unsigned char c : 2;
unsigned char d : 3;
}*ps;
ps = (struct str*)arr;
memset(arr, 0, 4);
ps->a = 2;
ps->b = 3;
ps->c = 4;
ps->d = 5;
printf("%02x %02x %02x %02x", arr[0], arr[1], arr[2], arr[3]);
return 0;
}