要理解 union 和 struct,看这个例子就足够了
typedef union {
uint32_t value;
struct {
uint8_t a; // alpha
uint8_t b; // blue
uint8_t g; // green
uint8_t r; // red
} rgba;
} RGBA;
RGBA color = {0x12345605}; // 定义一个颜色,颜色值:#123456 透明度:50%
Log("r:%02x g:%02x b:%02x alpha:%02x", color.rgba.r, color.rgba.g, color.rgba.b, color.rgba.a);
输出结果
r:12 g:34 b:56 alpha:05
总结:
想象一下,四个箱子拼成的一个整体就是 value。
网友评论