标签: c++ struct padding bit-fields
使用以下代码:
struct S { unsigned char b1 : 3; int i; };
我可以推断出char b1是1个字节并且使用3个字节而int是4个字节但是当我尝试打印出S的大小时,我得到8个字节而不是5个字节(1个用于char + 4)对于int)正如我所料,这是我不明白的理解。 有什么能解释为什么S的大小是8个字节?