Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1479 connectés 

  FORUM HardWare.fr
  Programmation
  C

  accès au contenue d'une struct (*tata.toto)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

accès au contenue d'une struct (*tata.toto)

n°759685
Carol Poul​in
Posté le 10-06-2004 à 19:54:52  profilanswer
 

Si j'ai une struct ville qui encapsule une struct rue de type Liste qui contient des pointeur et des info, comment je fait pour initialiser le contenu de rue avec une fonction  générique  Liste initListe()
 
Puis-je faire :

Code :
  1. *v.rue = initListe();


 
en tout ca ça me donne une erreur à l'exécution!

mood
Publicité
Posté le 10-06-2004 à 19:54:52  profilanswer
 

n°759688
Taz
bisounours-codeur
Posté le 10-06-2004 à 19:58:19  profilanswer
 

donne la définition de ta structure, le prototype de initList() et la déclaration de v
 
mais je parie que v.run pointe vers n'importe quoi, alors une petite * et pan !


Message édité par Taz le 10-06-2004 à 20:07:38
n°759697
Carol Poul​in
Posté le 10-06-2004 à 20:10:32  profilanswer
 

Code :
  1. Liste  initListe(int *err) //prototype
  2. {
  3. Liste * ptrListe;
  4. ptrListe = (Liste *) malloc (sizeof (Liste));
  5. if (ptrListe == NULL)
  6. {
  7.  *err = LNI;
  8. }
  9. else
  10. {
  11.  *err = OK;
  12.  ptrListe->sommetGauche = NULL;
  13.  ptrListe->card = 0;
  14.  ptrListe->ptrcompare = NULL;
  15. }
  16. return *ptrListe;
  17. }
  18. //struct
  19. typedef struct
  20. {
  21. Liste * rue; //pointeur sur une rue
  22. char * ptrChar; //nom de la ville
  23. } TypeVille;
  24. typedef struct
  25. {
  26. TypeNoeud * sommetGauche; //pointeur sur le début de la liste
  27. int card;     //le nombre de noeud
  28. BOOL (* ptrcompare) (void *, void *, int *); //pointeur sur différentes fonctions
  29. } Liste;
  30. //La déclaration:
  31. TypeVille v;
  32. //l'appel:
  33. *v.rue = initListe (&err);


 
 

n°759703
thermoclin​e
Geek intelligent
Posté le 10-06-2004 à 20:13:54  profilanswer
 

Pourquoi tu mets une etoile a ton *v.rue?

n°759713
Carol Poul​in
Posté le 10-06-2004 à 20:20:29  profilanswer
 

En faite je veux initialiser le contenue de la struct rue de type Liste, mais v.rue est seulement un pointeur. J'essaie de faire à la manière de  

Code :
  1. int * ptrMonInt;
  2. *ptrMonInt = 2;

n°759730
Taz
bisounours-codeur
Posté le 10-06-2004 à 20:31:09  profilanswer
 

ben oui mais bo, tu vois bien que ton pointeur pointe vers rien.
 
pour parler de ton type Liste, essaie de pas trop te mélanger les pinceaux : ne manipule que des Liste* ou que des Liste selon ton choix. genre initListe() retourne une Liste*

n°759738
Carol Poul​in
Posté le 10-06-2004 à 20:47:37  profilanswer
 

OK je voie, mais je ne peut pas changer le prototype qui doit me retourner une valeur de type Liste. Or dans mon main(), c'est vrai que v.rue pointe sur rien. Alors je dois lui trouver une adresse, donc je peux faire:

Code :
  1. v.rue = (Liste *) malloc (sizeof (Liste));
  2. //et par la suite faire :
  3. *v.rue = initListe (&err);


Mais voila, je ne peut pas passer ce pointeur en paramètre de initListe () car le prototype ne l'autorise pas. Donc initListe () ne saura pas sur quoi travailler?

n°759754
Taz
bisounours-codeur
Posté le 10-06-2004 à 21:01:32  profilanswer
 

tu vois, tu mélanges les deux et vois ce que ça donne. ne manipule que des Liste ou des Liste*, ok
 
 
pourquoi tu ne peux pas ?
 
si tu ne peux pas, c'est pas grave
tu n'a pas besoin d'allouer dynamiquement Liste, seulement les maillons. donc tu peux manipuler les Liste comme des int, sans passage par pointeur, du moment que tu t'y retrouves


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  accès au contenue d'une struct (*tata.toto)

 

Sujets relatifs
Empecher l'acces direct à une pageunion en acces
Question acces à une variable...Limiter l'acces a des ressources ki ne gerent pas les sessions
[PHP] pb d'acces ????[C++] Accès à une donnée protected
De Acces à SQL server: problème de requête Helpppppppppppp!!!Comment detecter si une carte son est installé avec acces???
Compteur de visites par visiteur et blocage d'accès[php] Controler acces intranet par mot de passe Windows
Plus de sujets relatifs à : accès au contenue d'une struct (*tata.toto)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR