Bonjour à tous !

Suite à quelques tests concernant les structures, je sollicite votre aide afin d'y voir plus clair.
Par exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 !