Duplicar posibles:
Why isn’t sizeof for a struct equal to the sum of sizeof of each member?tamaño de struct en C
Consideremos el siguiente código C:
#include <stdio.h>
struct employee
{
int id;
char name[30];
};
int main()
{
struct employee e1;
printf("%d %d %d", sizeof(e1.id), sizeof(e1.name), sizeof(e1));
return(0);
}
La salida es:
¿Por qué el tamaño de la estructura no es igual a la suma de los tamaños de sus variables de componentes individuales?
Puede usar el atributo empaquetado en gcc .. Esto soltará el relleno y mantendrá la estructura lo más pequeña posible. struct test_t { int c; } __tribuir __ ((__ empaque__)); – eaanon01
Duplicado de (al menos) http://stackoverflow.com/questions/119123/why-isnt-sizeof-for-a-struct-equal-to-the-sum-of-sizeof-of-each-member – dmckee
eaanon01 . no debe decirle a nadie sobre algo tan poco importante como el atributo empaquetado a menos que haya una razón realmente buena y se entiendan todas las implicaciones. –