【发布时间】:2010-05-13 14:17:00
【问题描述】:
我的结构定义。
typedef struct inner_list {char word[100]; inner_list*next;} inner_list;
typedef struct outer_list
{ char word [100];
inner_list * head;
outer_list * next; } outer_list;
问题部分:
void append(outer_list **q,char num[100],inner_list *p)
{ outer_list *temp,*r;
temp = *q;
char *str;
if(*q==NULL)
{ temp = (outer_list *)malloc(sizeof(outer_list));
strcpy(temp->word,num);
temp->head = p;
temp->next=NULL;
*q=temp;
}
else
{ temp = *q;
while(temp->next !=NULL)
{ temp=temp->next;
}
r = (outer_list *)malloc(sizeof(outer_list));
strcpy(r->word,num);
temp->head = p;
r->next=NULL;
temp->next=r;
}
}
我不知道我在这个附加函数中做错了什么,我正在发送一个 char 数组和一个链表来存储另一个链表。但我不能将链表存储在另一个链表中。我无法弄清楚问题所在。有什么想法吗?
【问题讨论】:
-
您可能应该解释一下您希望这段代码做什么以及问题是什么。
-
你应该也正式接受这个答案,以奖励你的助手的努力。
标签: c struct linked-list