Allocation d'un tableau de struct dans une fonction
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:
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 :P
Merci d'avance pour vos reponses !