#include <stdio.h>
#include <stdint.h>
union myByte{
uint8_t BYTE;
struct {
unsigned BIT0:1;
unsigned BIT1:1;
unsigned BIT2:1;
unsigned BIT3:1;
unsigned BIT4:1;
unsigned BIT5:1;
unsigned BIT6:1;
unsigned BIT7:1;
}BIT;
};
union myAccess {
uint16_t access16;
struct {
uint8_t lo;
union myByte hi;//here
} access8;
};
int main()
{
union myAccess U;
U.access8.lo=0xF1;
U.access8.hi.BYTE=0x55;
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRpbnQuaD4KCgp1bmlvbiBteUJ5dGV7CiAgICB1aW50OF90ICBCWVRFOwogICAgc3RydWN0IHsKICAgICAgICB1bnNpZ25lZCBCSVQwOjE7CiAgICAgICAgdW5zaWduZWQgQklUMToxOwogICAgICAgIHVuc2lnbmVkIEJJVDI6MTsKICAgICAgICB1bnNpZ25lZCBCSVQzOjE7CiAgICAgICAgdW5zaWduZWQgQklUNDoxOwogICAgICAgIHVuc2lnbmVkIEJJVDU6MTsKICAgICAgICB1bnNpZ25lZCBCSVQ2OjE7CiAgICAgICAgdW5zaWduZWQgQklUNzoxOwogICAgICAgIH1CSVQ7CiAgICB9OwogICAgCnVuaW9uIG15QWNjZXNzIHsKICAgIHVpbnQxNl90IGFjY2VzczE2OwogICAgc3RydWN0IHsKICAgICAgICB1aW50OF90IGxvOwogICAgICAgIHVuaW9uIG15Qnl0ZSBoaTsvL2hlcmUKICAgICAgICB9IGFjY2Vzczg7CiAgICB9OwoKaW50IG1haW4oKQp7CgogICB1bmlvbiBteUFjY2VzcyBVOwogICBVLmFjY2VzczgubG89MHhGMTsKICAgVS5hY2Nlc3M4LmhpLkJZVEU9MHg1NTsKICAgcHJpbnRmKCIleFxuIixVKTsKCgoKICAgIHJldHVybiAwOwogICAgfQ==