sizeof (struct) diferente para diferentes compiladores
Supongamos que tengo un código como este:
#include <stdio.h>
#include <stdint.h>
int main(int argc, char *argv[]) {
typedef struct{
uint16_t x : 9;
uint8_t y : 7;
} z;
printf("sizeof(z) = %lu\n",sizeof(z));
}
Tengo diferentes resultados para clang en Mac (2) y alguien me dijo en Windows que regresó (3). No estoy seguro si lo entiendo bien, pero veo que mientras el primer compilador comprime la estructura a 9 + 7 = 16 bits, el otro usa 16 bits de uint16_t y 8 de uint8_t. ¿Podrias aconsejar?