tablica wskaźników do struktur

Próbuję zrozumieć, czy mój kod jest poprawny. Muszę zadeklarować tablicę wskaźników do struktur, utworzyć nową strukturę i przypisać wartości i wydrukować je. Wydaje mi się, że nie deklaruję poprawnie tablicy wskaźników. Muszę wiedzieć, co robię źle. Dziękuję, otrzymuję ten błąd kompilacji: błąd: „niezarejestrowani ludzie” (pierwsze użycie w tej funkcji) I próbowałem wstawić listę struct data *; do głównego, ale to nie zadziałało

     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);
       }

questionAnswers(4)

yourAnswerToTheQuestion