Bonjour,

J'aimerais que quelqu'un m'éclaircisse sur un point.
J'ai lu dans un tuto que l'adresse d'une variable s'affiche via ("%p",&variable). alors qu'il est dit (toujours dans ce tuto) d'utiliser ("%d", pointeur) pour afficher la valeur d'un pointeur.

J'ai essayé et si je fais par exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
int age = 10; // variable
    int *ptage = &age; //le pointeur ptage reçoit l'adresse de age
 
    printf("Valeur du pointeur age %d\n", ptage); //renvoie une valeur décimale
    printf("adresse mémoire de la variable age %p\n",&age);" //renvoie une valeur hexadécimale
Les printf devraient m'envoyer les mêmes valeurs, or ce n'est pas le cas !

Par contre, si je fais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
int age = 10;
    int *ptage = &age;
 
    printf("Valeur du pointeur age %p\n", ptage);
    printf("adresse mémoire de la variable age %p\n",&age);
Les 2 valeurs sont identiques et hexadécimales.

Je commence seulement avec ce langage et je remercie par avance celui qui pourra m'expliquer.