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 !