To clarify my question, let\'s start off with an example program:
#include #pragma pack(push,1) struct cc { unsigned int a : 3;
Well you are using unsigned int which happens to be 32 Bit in this case. The next boundary (to fit in the bitfield) for unsigned int is 64 Bit => 8 Bytes.