I am writing a C program. I want a variable that I can access as a char but I can also access the specific bits of. I was thinking I could use a union like this…
typedef union
{
unsigned char status;
bit bits[8];
}DeviceStatus;
but the compiler doesn’t like this. Apparently you can’t use bits in a structure.
So what can I do instead?
Sure, but you actually want to use a struct to define the bits like this
Then you can access for
DeviceStatus ds;you can accessds.u.bit1. Also, some compilers will actually allow you to have anonymous structures within a union, such that you can just accessds.bit1if you ommit the u from the typedef.