2 pièce(s) jointe(s)
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:
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:
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 ! 8-) : j'aime l'informatique :aie:
Please: HELP :lol: