printf("short : %d\n", sizeof( short ));

Envoyé par
nodogeid
Pourquoi ma première variable occupe t-elle 6 emplacements mémoires (soit 6 octets) alors qu'un type short en occupe normalement 2?
Le taille fait bien 2!
printf("double : %d\n\n", sizeof(double ) );

Envoyé par
nodogeid
J'ai le même soucis avec le double (qui prend 12 au lieu de 8).
Le taille fait bien 8!
Qu'est ce qui ne va pas en fait?

Envoyé par
nodogeid
Seuls les int et les floats correspondent bien.
Sachant que ca dépend de l'implémentation de ton processeur.
1 2 3
| short var ;
int var2;
printf("%d\n%d",&var,&var2); |
Faudrait initialiser les variables à une valeur par défaut.

Envoyé par
nodogeid
Je veux donc afficher l'adresse en mémoire de ma première variable, ainsi que celle de la deuxième.
Pour cela, tu peux utiliser un pointeur sur ta variable. Par contre, la taille mémoire d'un pointeur est différent de la taille mémoire du type pointé.
Partager