Problème avec pointeur de pointeur.
Bonjour,
J'ai écrit ce petit bout de code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
#include <stdio.h>
int main()
{
int x = 10;
int * px = &x;
int *ppx = &px;
printf("px: %p -- &x: %p -- ppx: %p -- *ppx: %p\n", px, &x, ppx, *ppx);
return 0;
} |
les affichages de px, &x, ppx sont ceux que j'attendais, mais pour *ppx je devrais retrouver l'adresse de &x mais ce n'est as le cas.
De plus à la compilation avec gcc (linux debian )j'ai:
gcc -Wall pointpoint1.c -o pointpoint1
pointpoint1.c: In function 'main':
pointpoint1.c:8: warning: initialization from incompatible pointer type
pointpoint1.c:10: warning: format '%p' expects type 'void *', but argument 5 has type 'int'
et ./pointpoint1 donne:
px: 0x7fff71f28574 -- &x: 0x7fff71f28574 -- ppx: 0x7fff71f28568 -- *ppx: 0x71f28574
Merci d'avance pour une explication, j'ai vraiment cherché dans toute la FAQ j'ai bien vu des exemples de pointeurs de pointeurs avec les structures
ça fonctionne mais dans ce cas je ne comprend pas pourquoi ça ne marche pas ?
rutabagas.
[Resolut ]Re: pointeur de pointeur
Citation:
Envoyé par stephl
La réponse est dans mon post précédent.
Merci ça marche maintenant mais je ne comprends pas pourquoi il faut mettre deux étoiles ?
Merci à tous.
rutabagas.