数据类型与编程概念深度解析
1. 联合类型的灵活运用
在编程中,联合类型(union)能够让我们以不同的方式来访问和操作数据。通过特定的声明,我们可以操作 uns32 对象。例如,若要将 uns32 变量的低字节(LO byte)当作字符处理,只需访问 v.c 变量即可,示例代码如下:
mov( eax, v.u );
stdout.put( "v, as a character, is '", v.c, "'" nl );
联合类型还常用于将较大的对象拆分为其组成字节。以下是一段 C/C++ 代码片段:
typedef union
{
unsigned int u;
unsigned char bytes[4];
} asBytes;
asBytes composite;
// ...
composite.u = 1234576890;
printf (
"HO byte of composite.u is %u, LO byte is %u\n",
composite.u[3],
composite.u[0]
);
不过,使用联合类型组合和分解数据类型时,代码可能不具备可移植性。因为在大端(big endian)和小端(little endian)机器上,多字节对象的高字节(HO byte)和低字节(LO byte)所在地址不同。上述代码在小端机器上能正
超级会员免费看
订阅专栏 解锁全文
6443

被折叠的 条评论
为什么被折叠?



