我正在编写一个函数,它采用链表的起始指针并使用提供的值附加一个新节点。我通过的列表也可能是空的。但是当我尝试运行程序时,我得到了分段错误 11。谁能帮我找出我哪里出错了?
void appendList(struct list* list, int value) {
struct list* ptr = list;
struct list* temp = (struct list*)malloc(sizeof(struct list));
temp->val = value;
temp->next=NULL;
if (ptr==NULL) {
ptr = temp;
return;
}
while ((ptr->next)!=NULL) {
ptr = ptr->next;
}
ptr->next = temp;
}
调用为:
int main()
{
struct list* result;
result = (struct list*)malloc(sizeof(struct list));
appendList(result,4);
appendList(result,2);
appendList(result,5);
return 0;
}