typedef union
{
unsigned char Container;
struct {
unsigned char Bit_0 : 1;
unsigned char Bit_1 : 1;
unsigned char Bit_2 : 1;
unsigned char Bit_3 : 1;
unsigned char Bit_4 : 1;
unsigned char Bit_5 : 1;
unsigned char Bit_6 : 1;
unsigned char Bit_7 : 1;
}sub_union;
}type_Bit_Array;
// Создаю массив бит
type_Bit_Array Bit_Array;
// Макросы для удобства обращения к битам
#define ALL_BITS_ARRAY Bit_Array.Container
#define BIT_0 Bit_Array.sub_union.Bit_0
#define BIT_1 Bit_Array.sub_union.Bit_1
#define BIT_2 Bit_Array.sub_union.Bit_2
#define BIT_3 Bit_Array.sub_union.Bit_3
#define BIT_4 Bit_Array.sub_union.Bit_4
#define BIT_5 Bit_Array.sub_union.Bit_5
#define BIT_6 Bit_Array.sub_union.Bit_6
#define BIT_7 Bit_Array.sub_union.Bit_7
int main()
{
ALL_BITS_ARRAY=0; // Сразу 0 во все биты
BIT_7 = 1; // Пример обращение к конкретному биту
return 0;
}