L'operateur -> inutile? en c
Résolu
rocksider
Messages postés
106
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
bonsoir,
donc voilà j'ai esseyer de travailler avec l'operateur -> pour pouvoir changer les données d'une structure à l'aide d'une fonction, mais sans l'utilisé je suis arrivé a le faire. comment ça s'explique?
sinon je sais que :
(*a).nom <-> a->nom
Merci d'avance pour vos éclairecicement :)
donc voilà j'ai esseyer de travailler avec l'operateur -> pour pouvoir changer les données d'une structure à l'aide d'une fonction, mais sans l'utilisé je suis arrivé a le faire. comment ça s'explique?
sinon je sais que :
(*a).nom <-> a->nom
typedef struct etu { int age; char nom[9]; }etu; void fct(etu *c) { c[1].age=6; } int main() { etu a[3]; a[1].age=5; fct(a); printf(" %d",a[1].age); return 0; }
Merci d'avance pour vos éclairecicement :)
A voir également:
- L'operateur -> inutile? en c
- Opérateur de réseau mobile - Guide
- 0466 quel opérateur - Forum Mobile
- 0668 quel opérateur ✓ - Forum Mobile
- 0758 quel opérateur - Forum Opérateurs & Réseaux mobiles
- Supprimer application inutile android - Guide
7 réponses
Salut,
Tu envoies en arguments l'adresse de la première case de ton tableau de structure.
Donc c[i] est de type structure. Ainsi tu dois utiliser le point. Dans certain cas tu seras amené à utilisé (*c).age, par exemple si tu envoies un pointeur sur une structure simple (pas en tableau), là tu pourras utiliser c->age.
Cdlt
Tu envoies en arguments l'adresse de la première case de ton tableau de structure.
Donc c[i] est de type structure. Ainsi tu dois utiliser le point. Dans certain cas tu seras amené à utilisé (*c).age, par exemple si tu envoies un pointeur sur une structure simple (pas en tableau), là tu pourras utiliser c->age.
Cdlt
Bien du mal à comprendre la question.
Si tu veux absolument utiliser '->', tu peux toujours écrire (++c)->age = 6; au lieu de c[1].age = 6;.
Si tu veux absolument utiliser '->', tu peux toujours écrire (++c)->age = 6; au lieu de c[1].age = 6;.
Ou tu peux utiliser (c+1)->age=6; au lieu de ++c qui a l'avantage de ne pas perdre le pointeur sur le premier élément (bien qu'on puisse le récupérer ^^).
Merci pour vos réponses là c'est un peu plus clair, c'est juste que je me retrouvé pas ,mais là c bon^^
merci encors une nouvelle fois :)
merci encors une nouvelle fois :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Euh désolé j'ai oublié , et pour (++c)-> ou bien (c+1)-> ,pour les parametre
j'envoi un pointeur ou bien quoi??
j'envoi un pointeur ou bien quoi??