Конечно, но вы действительно хотите использовать struct для определения таких битов
typedef union
{
struct
{
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;
unsigned char bit8 : 1;
}u;
unsigned char status;
}DeviceStatus;
. Тогда вы можете получить доступ к DeviceStatus ds;
, к которому вы можете получить доступ ds.u.bit1
. Кроме того, некоторые компиляторы фактически позволят вам иметь анонимные структуры внутри союза, так что вы можете просто получить доступ к ds.bit1
, если вы опустите u из typedef.