Je voudrais faire quelque chose comme:passant un tableau de pointeurs de struct comme ref en C
struct mystruct {
char *info;
};
// here is where I'm not sure how to
void do_something(struct mystruct **struc){
int i;
for (i = 0; i < 10; i++){
*struc[i] = (struct mystruct *) malloc (sizeof (struct mystruct));
*struc[i]->info = "foo";
}
}
int main(int argc, char *argv[]){
struct mystruct **struc;
struc = (struct mystruct **struc) malloc (sizeof(struct mystruct *struc) * 10);
dosomething(&struc);
// do something with struc and its new inserted values
return 0;
}
Je ne sais pas comment passer comme une référence pour que je puisse utiliser après dosomething()
Merci
Cela ne devrait pas compiler. Vous passez un 'struct mystruct ***' dans une fonction qui prend un 'struct mystruct **'. Cela mis à part, quel est le problème? Toutes les valeurs devraient vous être accessibles après le retour de la fonction. – EboMike
@EboMike: vous avez raison, ne compile pas, et c'est ma question, je suppose que je suis confus sur la façon de gérer correctement le *, ***. – Yoshi
'void do_quelquechose (struct mystruct ** struc)' devrait prendre '*** struc' comme argument, je pense. –