sizeof() i les estructures

Ahir tot estudiant per l’examen de C del divendres vaig descobir que quan calcules la mida d’una structura no sempre coincideix amb la suma de les mides dels membres.

Per exemple si tens una estructura alumne:

typedef struct {
  char nom[10];
  char cognoms[20];
  int edat;
  int nota;
}TAlumne;

A primera vista això hauria d’ocupar 38bytes, però resulta que si fas un printf(“%d”,sizeof(TAlumne)); la sorpresa és que el compilador es treu 2 bytes de la butxaca, et retorna un 40.

Vaig està  remenant per internet cercant una resposta, i pel que vaig descobrir es veu que les mides de les estructes han de ser multiples de 4.

És per aquest motiu que el compilador diu que ocupa 40 i no 38, perquè¨ 38 no és múltiple de 4.

0 Responses to “sizeof() i les estructures”


  • No Comments

Leave a Reply

Últims Twitts

Posting tweet...