L'operateur -> inutile? en c
Résolu/Fermé
rocksider
Messages postés
106
Date d'inscription
mardi 21 octobre 2008
Statut
Membre
Dernière intervention
16 mars 2012
-
28 mars 2009 à 22:48
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 29 mars 2009 à 19:31
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 29 mars 2009 à 19:31
7 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
29 mars 2009 à 00:05
29 mars 2009 à 00:05
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;.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
29 mars 2009 à 01:26
29 mars 2009 à 01:26
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 ^^).
rocksider
Messages postés
106
Date d'inscription
mardi 21 octobre 2008
Statut
Membre
Dernière intervention
16 mars 2012
9
29 mars 2009 à 01:32
29 mars 2009 à 01:32
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
rocksider
Messages postés
106
Date d'inscription
mardi 21 octobre 2008
Statut
Membre
Dernière intervention
16 mars 2012
9
29 mars 2009 à 01:39
29 mars 2009 à 01:39
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??
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
29 mars 2009 à 01:47
29 mars 2009 à 01:47
Tu envoies le pointeur sur le premier élément du tableau.
Prototype :de la fonction appelée : void fct(etu *c);
Déclaration de a : etu a[3];
Appel : fct(a);
Prototype :de la fonction appelée : void fct(etu *c);
Déclaration de a : etu a[3];
Appel : fct(a);
loupius
>
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
29 mars 2009 à 01:55
29 mars 2009 à 01:55
Ah, toute une éducation à refaire, ou peut-être à faire ;-)
Bonne nuit.
Bonne nuit.
rocksider
Messages postés
106
Date d'inscription
mardi 21 octobre 2008
Statut
Membre
Dernière intervention
16 mars 2012
9
29 mars 2009 à 18:44
29 mars 2009 à 18:44
Merci pour l'aide:)
au fait, quand j'envoi le parametre à l'aide de : fct(a); le compilateur me passe un warning comme si a n'est pas une adresse ... sinon ça marche tres bien
au fait, quand j'envoi le parametre à l'aide de : fct(a); le compilateur me passe un warning comme si a n'est pas une adresse ... sinon ça marche tres bien
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
29 mars 2009 à 19:31
29 mars 2009 à 19:31
T'as dû faire une erreur quelque part.
Poste le code que t'as essayé.
Poste le code que t'as essayé.