Code: Select all
struct Enregistrement {
/* bla bla */
};
Code: Select all
struct MaStructure {
int Var;
char Var2[10];
};
Pour un union :
Code: Select all
union MonUnion {
int Var;
char Var2[10];
};
Pourquoi ?
Eh bien c'est simple voici un schéma de la mémoire vive avec un struct puis un union :
Mémoire avec un struct : (1 = mémoire occupée, 0 = mémoire libre)
En bleu tu as l'espace mémoire alloué à int et en rouge tu as l'espace mémoire alloué à char[10].1111111111111100000000000...
0000000000000000000000000...
Mémoire avec un union : (1 = mémoire occupée, 0 = mémoire libre)
Pareil pour les couleurs.111100000000000...
111111111100000...
Donc l'agencement de la mémoire est différente et donc la taille de ton union sera égale à la taille du plus gros des éléments de l'union.
Voilà