struct byteBits
{
unsigned a: 1;
unsigned b: 1;
unsigned c: 2;
unsigned d: 1;
unsigned e: 3;
} x;
int main(void)
{
x.a = 1; //x.a may contain values from 0 to 1
x.b = 0; //x.b may contain values from 0 to 1
x.c = 0b10; //x.c may contain values from 0 to 3
x.d = 0x0; //x.d may contain values from 0 to 1
x.e = 7; //x.e may contain values from 0 to 7
}