Bonjour à tous,
débutant en C depuis quelques mois, j'essaie d'attaquer les pointeurs de structure.
Voici la déclaration:
et dans le point c:
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;
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![]()
Partager