Allocation mémoire structure
Bonjour à tous !
Suite à quelques tests concernant les structures, je sollicite votre aide afin d'y voir plus clair.
Par exemple:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| typedef struct{
int var1;
int var2;
int var3;
} structure;
structure test = {5,10,15};
//Leurs adresses
puts("Adresses");
printf("\t%x\n",&test);
printf("\t%x\n\n",&test.var1);
//Leurs valeurs
puts("Valeurs");
printf("\t%x\n",test);
printf("\t%x\n",test.var1); |
Résultat:
Adresses
ffbffa98
ffbffa98
Valeurs
ffbffa88
5
Comment peuvent-elles avoir des valeurs différentes alors qu'elles ont la même adresse ?
Est-ce parce que pour calculer la valeur de test le compilateur lit sur toute la taille de la structure ? Soit 3*(int) ?
Merci de m'avoir lu !:ccool: