私のコードが正しいかどうかを理解しようとしています。構造体へのポインターの配列を宣言し、新しい構造体を作成し、値を割り当てて出力する必要があります。ポインターの配列を正しく宣言していないようです。私が間違っていることを知る必要があります。ありがとう、このコンパイル エラーが発生しています: エラー: 'people' 宣言されていません (この関数で最初に使用) そして、構造体データ *list; を挿入しようとしました。メインに入れますが、うまくいきません
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);
}