#include <stdio.h>
volatile union{
unsigned char Table_ALL[2];
union {
unsigned char Byte ;
struct {
unsigned char C1_1:1;
unsigned char C1_2:1;
unsigned char C1_3:1;
unsigned char C1_4:1;
unsigned char C1_5:1;
unsigned char C1_6:1;
unsigned char C1_7:1;
unsigned char C1_8:1;
}BIT;
} S1_C1;
union {
unsigned char Byte ;
struct {
unsigned char C2_1:1;
unsigned char C2_2:1;
unsigned char C2_3:1;
unsigned char C2_4:1;
unsigned char C2_5:1;
unsigned char C2_6:1;
unsigned char C2_7:1;
unsigned char C2_8:1;
}BIT;
} S1_C2;
}Table;
int main(void) {
// your code goes here
printf("Table_ALL[0] = %d\n", Table.
Table_ALL[0]); printf("Table_ALL[1] = %d\n", Table.
Table_ALL[1]);
printf("Write 1 to S1_C1.Byte\n"); Table.S1_C1.Byte = 1;
printf("S1_C1.Byte = %d\n", Table.
S1_C1.
Byte); printf("S1_C2.Byte = %d\n", Table.
S1_C2.
Byte);
printf("Table_ALL[0] = %d\n", Table.
Table_ALL[0]); printf("Table_ALL[1] = %d\n", Table.
Table_ALL[1]);
printf("Write 2 to S1_C2.Byte\n"); Table.S1_C2.Byte = 2;
printf("S1_C1.Byte = %d\n", Table.
S1_C1.
Byte); printf("S1_C2.Byte = %d\n", Table.
S1_C2.
Byte);
printf("Table_ALL[0] = %d\n", Table.
Table_ALL[0]); printf("Table_ALL[1] = %d\n", Table.
Table_ALL[1]); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2xhdGlsZSB1bmlvbnsKICAgICAgICB1bnNpZ25lZCBjaGFyIFRhYmxlX0FMTFsyXTsKICAgICAgICB1bmlvbiB7CiAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIEJ5dGUgOwogICAgICAgICAgICAgICAgc3RydWN0IHsKICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciBDMV8xOjE7CiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgQzFfMjoxOwogICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIEMxXzM6MTsKICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciBDMV80OjE7CiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgQzFfNToxOwogICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIEMxXzY6MTsKICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciBDMV83OjE7CiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgQzFfODoxOwogICAgICAgICAgICAgICAgfUJJVDsKICAgICAgICB9IFMxX0MxOwoKICAgICAgICB1bmlvbiB7CiAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIEJ5dGUgOwogICAgICAgICAgICAgICAgc3RydWN0IHsKICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciBDMl8xOjE7CiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgQzJfMjoxOwogICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIEMyXzM6MTsKICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciBDMl80OjE7CiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgQzJfNToxOwogICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIEMyXzY6MTsKICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciBDMl83OjE7CiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgQzJfODoxOwogICAgICAgICAgICAgICAgfUJJVDsKICAgICAgICB9IFMxX0MyOwp9VGFibGU7CgoKaW50IG1haW4odm9pZCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJcHJpbnRmKCJUYWJsZV9BTExbMF0gPSAlZFxuIiwgVGFibGUuVGFibGVfQUxMWzBdKTsKCXByaW50ZigiVGFibGVfQUxMWzFdID0gJWRcbiIsIFRhYmxlLlRhYmxlX0FMTFsxXSk7CgkKCXByaW50ZigiV3JpdGUgMSB0byBTMV9DMS5CeXRlXG4iKTsKCVRhYmxlLlMxX0MxLkJ5dGUgPSAxOwoJcHJpbnRmKCJTMV9DMS5CeXRlID0gJWRcbiIsIFRhYmxlLlMxX0MxLkJ5dGUpOwoJcHJpbnRmKCJTMV9DMi5CeXRlID0gJWRcbiIsIFRhYmxlLlMxX0MyLkJ5dGUpOwoJCglwcmludGYoIlRhYmxlX0FMTFswXSA9ICVkXG4iLCBUYWJsZS5UYWJsZV9BTExbMF0pOwoJcHJpbnRmKCJUYWJsZV9BTExbMV0gPSAlZFxuIiwgVGFibGUuVGFibGVfQUxMWzFdKTsKCQoJcHJpbnRmKCJXcml0ZSAyIHRvIFMxX0MyLkJ5dGVcbiIpOwoJVGFibGUuUzFfQzIuQnl0ZSA9IDI7CglwcmludGYoIlMxX0MxLkJ5dGUgPSAlZFxuIiwgVGFibGUuUzFfQzEuQnl0ZSk7CglwcmludGYoIlMxX0MyLkJ5dGUgPSAlZFxuIiwgVGFibGUuUzFfQzIuQnl0ZSk7CgkKCXByaW50ZigiVGFibGVfQUxMWzBdID0gJWRcbiIsIFRhYmxlLlRhYmxlX0FMTFswXSk7CglwcmludGYoIlRhYmxlX0FMTFsxXSA9ICVkXG4iLCBUYWJsZS5UYWJsZV9BTExbMV0pOwoJcmV0dXJuIDA7Cn0K