union bits {
unsigned int a : 1;
unsigned int b : 2;
unsigned int c : 3;
unsigned int d : 4;``
unsigned char x[2];
unsigned int z;
};
you can use bitfields in a struct like the following:
typedef union
{
struct
{
unsigned char bit0 : 1;
unsigned char bit1 : 1;
unsigned char bit2 : 1;
unsigned char bit3 : 1;
unsigned char bit4 : 1;
unsigned char bit5 : 1;
unsigned char bit6 : 1;
unsigned char bit7 : 1;
}bits;
unsigned char byte;
}byte;
and then if you'll have byte b;
, you can access each bit like that: b.bits.bit1