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 :

Pointeurs et structures: erreur de segmentation


Sujet :

C

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 6
    Par défaut Pointeurs et structures: erreur de segmentation
    Bonjour à tous,

    débutant en C depuis quelques mois, j'essaie d'attaquer les pointeurs de structure.

    Voici la déclaration:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #ifndef __VECTEUR_DYNAMIQUE__
    #define __VECTEUR_DYNAMIQUE__
     
    typedef struct donnees_vecteur {
      int taille;
      double *donnees;
    } *vecteur;
    et dans le point c:

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    #include "vecteur_dynamique.h"
    #include <stdlib.h>
    #include <stdio.h>
     
    vecteur allouer_vecteur(int taille)
    {
      vecteur v;
      v->taille = taille;
      v->donnees = (double*)malloc(taille * sizeof(double));
     
      if ( v->donnees == NULL ){
         printf("Allocation Impossible");
         exit(1);
      }
     
      return v;
    }
     
    /* [...] */
     
    int main(){
     
      vecteur v = allouer_vecteur(8);
     
      v->donnees[2]=5;
      printf("\n%lf\n",*(acces_vecteur(v,2)));
     
      printf("\nTaille: %d\n",taille_vecteur(v));
     
      liberer_vecteur(v);
      printf("\n%d\n", est_vecteur_invalide(v));
     
      return 0;
    }


    j'ai passé les passages contenant les déclarations/définition des autres foncions car c'est la fonction allouer_vecteur qui pose problème.

    En effet, je n'ai aucune erreur de compilation mais une erreur de segmentation qui provient de cette fonction.

    Ca fait des heures que je cherche et je trouve toujours pas ! : j'aime l'informatique

    Please: HELP
    Images attachées Images attachées   

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/04/2012, 12h18
  2. Incrémentation d'un élément de structure : erreur de segmentation
    Par BOByTOX dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 27/04/2011, 18h37
  3. erreur de segmentation sur affectation champ enum structure
    Par marion5515 dans le forum Débuter
    Réponses: 9
    Dernier message: 24/02/2010, 11h51
  4. Réponses: 7
    Dernier message: 20/01/2010, 11h23
  5. Réponses: 20
    Dernier message: 11/07/2006, 17h11

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