1)printf("%d", pointeurSurAge);===>il fait reference a une variable pointeur sur age et pas a un pointeur car pas d'* pour moi hors aucune variable pointeur sur age declare ou suffit il juste de la declarer le pointeur grace a l'* au debut et plus besoins par la suite?
.....
Ce code tente d'afficher la variable pointeurSurAge qui est du type int *, soit adresse d'un int. Il va donc afficher quelque chose qui ressemble à l'adresse de age.
Ce code est incorrect. L'affichage d'une adresse se fait avec le formateur %p. Le formateur %d, lui, affiche un int sous la forme décimale. (attention à la confusion extrèmement dangereuse dans son principe entre entier et adresse qui sont deux concepts entièrement différents et dont on doit se garder absolument)
On doit avoir
- si on veut afficher la valeur de age en décimal (10) :
1 2 3
| printf("%d", *pointeurSurAge);
// ou
printf("%d", age); |
- si on veut afficher l'adresse de age (le format d'affichage dépend de l'implémentation) :
printf("%p", (void*)pointeurSurAge);
Sur l'utilisation et l'intérêt d'accéder à un objet via son adresse, tu les découvriras bientôt. Pour l'instant, considère les notions d'adresse et de pointeur, qui sont simples, comme essentielles et ne les négligent surtout pas.
Partager