union LowLevelNumber
{
unsigned int n;
struct
{
unsigned int lowByte : 8;
unsigned int highByte : 8;
unsigned int upperLowByte : 8;
unsigned int upperHighByte : 8;
} bytes;
struct
{
unsigned int lowWord : 16;
unsigned int highWord : 16;
} words;
};
这个联合允许我访问无符号整数字节或逐字。但是,代码看起来相当难看:
var.words.lowWord = 0x66;
有没有一种方法可以让我编写这样的代码:
var.lowWord = 0x66;
更新:
这实际上是关于编写简短/漂亮的代码,如上例所示。联合解决方案本身确实有效,我只是不想每次访问 lowWord 或 lowByte 时都写 .words 或 .bytes。