製品とその数量のリストを保存するために、リンクされたリストの二次元配列を使用してプログラムを実装しようとしています。今のところ、最初の配列要素 t[0][0] のリストの内容を追加して表示する関数のみを実行しました。商品名と数量を追加するとエラーにはなりませんが、リストを表示しようとしても何も表示されません。間違いを犯しているかどうかを確認できますか?助けてくれてありがとう。
typedef struct object product, *pprod;
struct object{
char name[100];
int quantity;
pprod next;
};
product t[4][3];
int is_empty(pprod p)
{
if(p == NULL)
return 1;
else
return 0;
}
void show_info(pprod p)
{
while(p != NULL)
{
printf("%s\t%d\n",
p->name, p->quantity);
p = p->next;
} }
void get_data(pprod p)
{
printf("name: ");
scanf("%s",p->name);
printf("quantity: ");
scanf("%d",&p->quantity);
p->next = NULL;
}
pprod insert_beginning(pprod p)
{
pprod new;
if((new = malloc(sizeof(product))) == NULL)
printf("Error allocating memory\n");
else
{
get_data(new);
new->next = p; } p = new;
return p;
}
int main(int argc, char *argv[]){
insert_beginning(t[0][0].next);
show_info(t[0][0].next);
printf("%d",is_empty(t[0][0].next));
}