Itt elfelejtkezel a paddingról, amit a compiler automatikusan csinál. Egy C struct memóriabeli mérete, a tagok struktúrán belül pontos elhelyezkedése teljesen más lehet, mint amit te a programkódban látsz.
De gondolom ezt compiler direktívákkal lehet kapcsolgatni, alapvető dolog C-ben, hogy Te mondod meg, hogy a memóriában hogy legyen egy struktúra.