Bonjour,,
Je m'adresse à tout les spécialiste des pointeurs !! lol
Alors commencons par le début:
J'ai définit un type arbre qui est de type structure ainsi que le type de son pointeur : soit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 typedef struct arbre_ arbre; typedef arbre *ptr_arbre; struct arbre_ { unsigned char code_ascii; unsigned int frequence; ptr_arbre suivant; //structure en liste chainé ptr_arbre precedent; //facilite supression ptr_arbre fil_gauche; ptr_arbre fil_droite; ptr_arbre mere; //pour codage char indice; //pour codage: 0gauche 1droite 2mere };
Dans cette structure j'ai des pointeurs et donc pour accéder au champs "suivant" aprés allocation dynamique par exemple, je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ptr_arbre code=--malloc(--); code->suivant=--; //et c'est de type pointeur de pointeur
Et voila mon probleme: pour pouvoir modifier la valeur d'un pointeur de type "ptr_arbre" dans une fonction,je met donc en argument l'adresse de ce pointeur (pointeur de pointer)
Et donc le fonction se déclare ainsi
et je peut accéder à son contenu ainsi *A
Code : Sélectionner tout - Visualiser dans une fenêtre à part void fonction(ptr_arbre *A)
Mais comment accéder à la valeur de A->suivant ?
j'ai essayé *A->suivant et *(A->suivant) mais ça ne marche pas !
Le reste marche parfaitement!
merci d'avance
Partager