位域允许按位分配存储,用于紧凑表示标志或小范围数值。注意可移植性与实现细节。
struct Flags { unsigned a:1; unsigned b:3; unsigned c:4; // 总计 8 位 };
unsigned
union U { struct Flags f; unsigned char raw; };
位域适合紧凑标志存储,但不要用于需要严格二进制兼容的场景;跨平台需自行定义打包规则。