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 : Sélectionner tout - Visualiser dans une fenêtre à part
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:
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.