Pointeurs sur une structure dans une autre
Fermé
MademoiselleT
Messages postés
10
Date d'inscription
mercredi 22 octobre 2014
Statut
Membre
Dernière intervention
8 février 2016
-
7 févr. 2016 à 20:42
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 8 févr. 2016 à 13:31
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 8 févr. 2016 à 13:31
A voir également:
- Pointeurs sur une structure dans une autre
- Dans la table des matières de ce document, le chapitre 6 et ses 2 sections n'apparaissent pas. trouvez l'erreur dans la structure du document et corrigez-la. mettez à jour la table des matières. quel est le mot formé par les lettres en majuscules de la table des matières après sa mise à jour ? - Forum Word
- L'importateur de fichiers a détecté une incohérence dans la structure de fichier - Forum Montage vidéo
- Logiciel calcul structure bois gratuit - Télécharger - Architecture & Déco
- Deux pointeurs souris sous windows ✓ - Forum Windows
- Remplir un tableau de structure en c ✓ - Forum C
2 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 816
7 févr. 2016 à 22:09
7 févr. 2016 à 22:09
Bonjour,
Oui c'est faisable.
Montre-nous ton code plutôt, ça sera plus simple pour t'aider.
Note : pour poster ton code, merci d'utiliser la balise <code c>.
Par exemple :
<code c>ici tu mets ton code</code>
Oui c'est faisable.
Montre-nous ton code plutôt, ça sera plus simple pour t'aider.
Note : pour poster ton code, merci d'utiliser la balise <code c>.
Par exemple :
<code c>ici tu mets ton code</code>
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 816
Modifié par fiddy le 7/02/2016 à 22:40
Modifié par fiddy le 7/02/2016 à 22:40
Bonjour,
Tu as oublié de mettre la fin de la balise </code>.
Du coup, ça manque de visiblité.
Dans tes structures, tous les éléments doivent être déclarés.
Pourtant, tu définies des structures imbriquées, sans déclarer de variables.
Exemple :
Note : par ailleurs, ta structure Nom a une portée restreinte à ta structure Personne. Cela ne sert donc à rien de la nommer. Tu peux mettre simplement :
Je te laisse corriger ton code en fonction de mes remarques. N'hésite pas à reposter ton code si cela ne fonctionne toujours pas.
Google is your friend
Tu as oublié de mettre la fin de la balise </code>.
Du coup, ça manque de visiblité.
Dans tes structures, tous les éléments doivent être déclarés.
Pourtant, tu définies des structures imbriquées, sans déclarer de variables.
Exemple :
struct Personne {
struct Nom {
char nom[15];
} sNom; /*tu crées une variable nom de type struct Nom. Sans ça, ça ne fonctionnera pas*/
};
Note : par ailleurs, ta structure Nom a une portée restreinte à ta structure Personne. Cela ne sert donc à rien de la nommer. Tu peux mettre simplement :
struct { /*pas besoin de nommer la structure*/
char nom[15];
} sNom;
Je te laisse corriger ton code en fonction de mes remarques. N'hésite pas à reposter ton code si cela ne fonctionne toujours pas.
Google is your friend
MademoiselleT
Messages postés
10
Date d'inscription
mercredi 22 octobre 2014
Statut
Membre
Dernière intervention
8 février 2016
7 févr. 2016 à 22:55
7 févr. 2016 à 22:55
ahh je vois. l'erreur si signalais juste la déclaration que je n'avais pas faite. merci beaucoup
mais sa ne marche toujours pas quand même..bug à la meme ligne
mais sa ne marche toujours pas quand même..bug à la meme ligne
MademoiselleT
Messages postés
10
Date d'inscription
mercredi 22 octobre 2014
Statut
Membre
Dernière intervention
8 février 2016
7 févr. 2016 à 23:07
7 févr. 2016 à 23:07
J'ajoute aussi que je ne peux plus pointer un pointeur sur un élément d'une des structures auxquelles j'ai retiré le nom
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 816
7 févr. 2016 à 23:19
7 févr. 2016 à 23:19
Poste ton code corrigé que je vois où tu en es :-).
MademoiselleT
Messages postés
10
Date d'inscription
mercredi 22 octobre 2014
Statut
Membre
Dernière intervention
8 février 2016
7 févr. 2016 à 23:20
7 févr. 2016 à 23:20
struct personne
{
char noms[20];
struct
{
nomregion regcon[16];
struct
{
int nbvreg;
} svoi;
} svoies;
};
typedef struct personne personne;
main()
{
personne cndt[5]={"","",0};
struct svoies *pointeur1=NULL;
int i;
printf("\t\tNOMS DES CANDIDATS\n\t\t__________________\n\n");
for(i=0; i<5; i++)
{
printf("Candidat numero %d:\t",i+1);
scanf("%s",cndt[i].noms);
}
nom(pointeur1->regcon);
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 816
7 févr. 2016 à 23:24
7 févr. 2016 à 23:24
struct svoies *pointeur1=NULL;
La structure sVoies n'est pas connue à cet endroit. Sa portée est cantonnée à la structure Personne.
Si tu souhaites pouvoir utiliser cette structure à l'extérieure, il faut que tu la déclares à au même niveau que la structure Personne.
La structure sVoies n'est pas connue à cet endroit. Sa portée est cantonnée à la structure Personne.
Si tu souhaites pouvoir utiliser cette structure à l'extérieure, il faut que tu la déclares à au même niveau que la structure Personne.
Modifié par MademoiselleT le 7/02/2016 à 22:34
struct personne { char noms[20]; struct voies { nomregion regcon[16]; struct voi { int nbvreg; }; }; }; typedef struct personne personne; typedef struct voies voies; typedef struct voi voipreg; main() { personne cndt[5]={"","",0}; personne *pointeur0=NULL; voies *pointeur1=NULL; voipreg *pointeur2=NULL; int i; printf("\t\tNOMS DES CANDIDATS\n\t\t__________________\n\n"); for(i=0; i<5; i++) { printf("Candidat numero %d:\t",i+1); scanf("%s",cndt[i].noms); } nom(pointeur1->regcon); printf("\n\t\tNOMBRE DE VOIES PAR CANDIDAT\n\t\t_________(etc etc)nom -->> procédure qui copie des chaines de caracteres dans un tableau de chaines de caracteres
c'est à partir de l'avant derniere ligne que sa déconne