pointeur vers une structure
bonjour a tous,
je dois realiser un projet en C et l'utilisation des pointeurs est souhaitee...
voici mon probleme:
- l'entete de ma fonction:
Code:
void nomDeFonction (struct chainon **first,...autres params....)
- la structure chainon:
Code:
1 2 3 4
| struct chainon{ char nomPre[40];
char numTel[14];
struct chainon *ptrSvt;
}; |
- l'instruction dans la fonction qui pose probleme:
Code:
first->ptrSvt = NULL;
ce qui se passe, c'est qu'à la compilation il me marque:
Code:
pointer to structure required on left side of -> or ->*
est-ce que quelqu'un peu eclairer ma lanterne???
merci d'avance
Re: pointeur vers une structure
Citation:
Envoyé par Xyrroa
Code:
first->ptrSvt = NULL;
(*first)->ptrSvt = NULL;
Re: pointeur vers une structure
Citation:
Envoyé par Xyrroa
- l'entete de ma fonction:
Code:
void nomDeFonction (struct chainon **first,...autres params....)
- la structure chainon:
Code:
1 2
| struct chainon{ char nomPre[40];
char numTel[14]; |
Pourquoi vous avez déclaré dans votre fonction struct chainon **first normalement vous devez déclaré :
Code:
void nomDeFonction( struct chainon *first, .........);
est le traitement sera fait comme vous l'avez fait :
Code:
first->ptrSvt = NULL;
Revisez votre cours de listes chainées.
Citation:
Envoyé par Skyrunner
(*first)->ptrSvt = NULL;
Ce type de déclaration n'existe pas je pense.
je pense que vous voulez écrire :
Re: pointeur vers une structure
Citation:
Envoyé par ccensam
Citation:
Envoyé par Xyrroa
- l'entete de ma fonction:
Code:
void nomDeFonction (struct chainon **first,...autres params....)
- la structure chainon:
Code:
1 2
| struct chainon{ char nomPre[40];
char numTel[14]; |
Pourquoi vous avez déclaré dans votre fonction struct chainon
**first normalement vous devez déclaré :
Code:
void nomDeFonction( struct chainon *first, .........);
Non, le P.O. a passé un double pointeur pour pouvoir éventuellement modifier la valeur de la tête de liste.
Citation:
Envoyé par ccensam
Revisez votre cours de listes chainées.
effectivement :wink:
Pense aussi à revoir ton cours sur les pointeurs
Citation:
Envoyé par ccensam
Citation:
Envoyé par Skyrunner
(*first)->ptrSvt = NULL;
Ce type de déclaration n'existe pas je pense.
Ben si justement, quand on passe un "double pointeur" ou pointeur de pointeur.
Re: pointeur vers une structure
Citation:
Envoyé par Trap D
Non, le P.O. a passé un double pointeur pour pouvoir éventuellement modifier la valeur de la tête de liste.
J'arrive pas à comprendre l'utilité de cette déclaration. Est-ce quelqu'un peu m'expliquez davantage svp.