我正在尝试使用链接列表的二维数组来实现一个程序,以存储产品列表及其数量。目前,我只完成了添加和显示第一个数组元素 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));
}