IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

liste chainé et structure


Sujet :

C

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut liste chainé et structure
    Bonjour,

    je fais un programme en langage c qui comporte une liste doublement chainé et 2 structures:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    typedef struct _Dliste { 
    struct _Dliste *next; 
    struct _Dliste *prev; 
    void * info; 
    }Dliste; 
     
    typedef struct { 
    char nom_pers[6]; 
    int age; 
    }personne; 
     
    typedef struct { 
    char nom_entreprise[6]; 
    Dliste* liste_personne; 
     
    }entreprise;
    l'ensemble d'entreprise est une dliste d'entreprise.

    je n'arrive pas à ajouter une entreprise à la dliste entrepise, je ne sais pas comment affecter les valeurs dans dliste personne car le programme n'accepte pas
    "e->liste_personne->nom_pers" si vous pouvez m'aider .
    merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    En ce qui concerne : e->liste_personne->nom_pers, tu ne précises pas le type de e.

    Vu qu'il y a un champ liste_personne, je suppose qu'il s'agit d'un entreprise * . Alors e->liste_personne est un Dliste * qui ne comporte pas de champ nom_pers. Le seul champ qui semble faire l'affaire est info.

    e->liste_personne->info donne un void * . Pour aller plus loin, il faut restituer le bon type à ce void * : (personne *)e->liste_personne->info
    et on a accès au champ voulu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((personne *)e->liste_personne->info)->nom_pers

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci diogene pour votre réponse, je peux maintenant acceder au champs nom_pers mais chaque foi j'execute cette instruction :

    strcpy(((personne*)e->liste_pers->info)->nom_pers,"xxxxx");

    ce message apparait :
    Unhandled exception at 0x5bccf6d7 (msvcr90d.dll) in projet.exe: 0xC0000005: Access violation writing location 0xcdcdcdcd.

  4. #4
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Un des pointeurs utilisés dans ((personne*)e->liste_pers->info)->nom_pers n'a sans doute pas été initialisé : e ? liste_pers ? info ?

Discussions similaires

  1. liste chainée sur structure
    Par mondanikoffi dans le forum C++
    Réponses: 8
    Dernier message: 28/10/2013, 04h05
  2. Liste chaine et structure dans structure
    Par firemax dans le forum C
    Réponses: 1
    Dernier message: 04/12/2007, 18h06
  3. utiliser listes chainées où donné=structure?
    Par xlas-blader dans le forum C
    Réponses: 6
    Dernier message: 05/12/2006, 13h25
  4. les listes chaineés(structures)
    Par snakemetalgear dans le forum C
    Réponses: 18
    Dernier message: 14/11/2006, 18h09
  5. [Débutant]Structure et listes chainées
    Par plagia dans le forum C
    Réponses: 28
    Dernier message: 09/11/2006, 00h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo