How they live inside of a structure is far into implementation-defined land. No ABI (afaik) says where bits live if they do not fill an octet. In practice, the compilers agree with themselves over time, but that is "code as spec" which is everyone's favorite thing for interop.