Occupation en mémoire suivant le type de la variable.
Bonjour à tous.
Vla je me remets dans le C en voulant bien comprendre ce qui se passe "a l'intérieur" de la machine.
Ya un ptit truc qui m'échappe.
Voici l'intérieur de ma fonction main:
Code:
1 2 3 4 5 6 7 8 9 10 11
|
printf("short : %d\n", sizeof( short ));
printf("int : %d\n", sizeof( int ));
printf("float : %d\n", sizeof(float ) );
printf("double : %d\n\n", sizeof(double ) );
short var ;
int var2;
printf("%d\n%d",&var,&var2);
return 0; |
et voici ce que cela m'affiche:
Citation:
short : 2
int : 4
float : 4
double : 8
-1077324366
-1077324372
Je veux donc afficher l'adresse en mémoire de ma première variable, ainsi que celle de la deuxième.
Ma question est:
Pourquoi ma première variable occupe t-elle 6 emplacements mémoires (soit 6 octets) alors qu'un type short en occupe normalement 2?
J'ai le même soucis avec le double (qui prend 12 au lieu de 8).
Seuls les int et les floats correspondent bien.
Je vous remercie d'avance.
Cordialement.