tableau de pointeurs vers des structures

J'essaie de comprendre si mon code est correct. J'ai besoin de déclarer un tableau de pointeurs vers des structures, de créer une nouvelle structure et assigner les valeurs et les imprimer. Il me semble que je ne suis pas déclarer tableau de pointeurs correctement. J'ai besoin de savoir ce que je fais mal. Merci
J'obtiens cette erreur de compilation: erreur: "personnes" non déclaré (première utilisation dans cette fonction)
Et j'ai essayé d'insérer structure de données *liste; dans le main, mais il ne serait pas travailler

     char *book[] = { "x", "y", "z",};
     int number[] = { 1, 2, 3};

     struct data = { char *bookname; int booknumber;};

     function(char *x, int y)
     {
       static int count;

       struct data *list[3];

       //creating a new struct 
       list[count] = (struct data*) malloc( sizeof(struct data) );

       //assigning arguments
       list->bookname = x;
       list->booknumber = y;

       count++;
     }

     int main()
     {
       struct data *list[3];

       int i;
       for(i = 0; i < 3; i++)
       {
         function(book[i], number[i]);

         printf("name: %c number: %d", list[i]->bookname, list[i]->booknumber);
       }
list ne doit pas être visible dans main()
droit, function doit être fait pour retourner un pointeur vers un struct data, qui peut ensuite être imprimé (et, surtout, free()ed!) dans la principale.

OriginalL'auteur Jack Morton | 2012-07-19