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 :

Erreur de segmentation lors de la compilation


Sujet :

C

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 19
    Points : 19
    Points
    19
    Par défaut Erreur de segmentation lors de la compilation
    Bonjour!
    J'aimerais solllicité votre aide sur une erreur de «segmentation » que je rencontre dans mon programme.
    Voici mon probleme:
    j'ai définit des structures de la façon suivante:

    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
    17
    18
    19
    20
    21
    22
    23
    typedef char *TypeNom; 
     
    typedef char *TypePrenom; 
     
    typedef char *TypeTelephone; 
     
    struct Personne { 
    	TypeNom nom; 
    	TypePrenom prenom; 
    	TypeTelephone tel; 
    }; 
     
     
    struct traitement_res_get_all { 
    	CodeTraitement c; 
    	union { 
    		struct { 
    			u_int listePersonne_len; 
    			struct Personne *listePersonne_val; 
    		} listePersonne; 
    		char *error; 
    	} traitement_res_get_all_u; 
    };
    et une fonction void annuaire_get_all :
    * Retourne toutes les entréees dans un tableau alloué par malloc().
    * Le tableau termine par une entrée à NULL.
    *
    * @param entry_ptr tableau alloué des résultats, valeur OUT.
    */
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void annuaire_get_all ( struct Personne **const entry_ptr );
    j'ai déclaré aussi dans mon code une variable res comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    traitement_res_get_all *res1;
    j'aimearai grace «res» recupérer une liste de personne alloué dynamique dans la fonction
    annuaire_get_all pour cela j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    annuaire_get_all ( &res1.traitement_res_get_all_u.listePersonne.listePersonne_val)

    Ainsi quand je tente d'afficher le contenu de res1 comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf ("\nLe contenu de l'annuaire est  : %s", res1->traitement_res_get_all_u.listePersonne.listePersonne_val[1].name);
    j'ai une erreur de segmentation default .

    Puis je avoir votre aide pour l'affichage des éléments de mon tableau retourné par la fonction annuaire_get_all ?
    Merci d'avance !

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    Peux tu nous donner le code de annuaire_get_all ?

    Merci.

    PS : les tableaux commencent à 0 en C, donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    printf ("\nLe contenu de l'annuaire est  : %s", 
    res1->traitement_res_get_all_u.listePersonne.listePersonne_val[1].name);
    affiche le deuxième nom.

  3. #3
    Membre actif Avatar de Grulim
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 234
    Points : 288
    Points
    288
    Par défaut
    ta variable res1 est un pointeur, pointe-t-il vers une zone de mémoire alloué par ton programme (malloc) ?

Discussions similaires

  1. Réponses: 7
    Dernier message: 12/05/2010, 15h33
  2. Erreur -ms-bitfields lors de la compilation (sans EDI)
    Par ArnSpin dans le forum GTK+ avec C & C++
    Réponses: 5
    Dernier message: 06/04/2010, 18h13
  3. Erreur de segmentation lors du rafraichissement d'un ListStore
    Par Difool dans le forum GTK+ avec Python
    Réponses: 1
    Dernier message: 23/02/2010, 16h09
  4. Réponses: 1
    Dernier message: 22/03/2009, 19h44
  5. Réponses: 20
    Dernier message: 14/09/2006, 10h56

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