Bonjour a tous,
Je suis a la recherche d'une explication au sujet de l'allocation.
Je sais allouer un tableau de structure dans mon main, mais quand je cherche à faire la même chose dans une fonction, je rencontre des erreurs
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 typedef struct { int number; }MOY; void AllocMOY( MOY **moy ) { int qte = 10; moy = /* (MOY*) */ malloc( qte * sizeof(MOY) ); moy[2]->number = 10; //Ici, erreur de violation d'acces ! /* Utilisé ca aussi, mais ceci provoque une erreur au moment du printf en sortie de fonction moy= malloc (11 * sizeof(MOY*) ); for(i=0; i<11; i++) { moy[i] = malloc(sizeof(MOY)); } */ } void main() { MOY *moy; AllocMOY( &moy ); printf("%d",moy[2]); }
En quoi ce code ne fonctionne pas ?
Ou ai je fais une erreur ?
Je ne trouve pas de solution, c'est pourquoi je viens demander votre aide
Merci d'avance pour vos reponses !
Partager