结构体位域字节对齐

需求 有些时候,一些数据只占用几个 bit,而且是紧密排列的,所以就会考虑使用结构体位域,最好能再带上 union,使用起来会更加方便,但是位域是否字节对齐? 解决 经过测试,如果每一段的位域都在单个字节内,没有跨字节,那么就可以直接使用,字节是对齐的。否则每个跨字节的位域会多占用一个字节,会造成整体的数据错位。 参考 结构体(Struct)、联合体(Union)和位域 union联合体与内存对齐 C语言位域(位段)详解 UNION和位域的使用

2023-05-18 · 1 min · 11 words · RamLife