【发布时间】:2021-08-21 20:22:50
【问题描述】:
这个方法应该在链表的末尾附加一个节点。该方法循环直到到达结尾,也就是空指针。但是当我尝试将空指针更改为一个值时,它会崩溃。我应该如何解决这个问题? (Node指针有一个整数数据和另一个当前Node指向的Node变量)。
void appendItem(LinkedList* list, int value)
{
Node* temp = (Node*)malloc(sizeof(Node));
temp = list->head;
while(temp != NULL)
{
temp = temp->next;
}
temp->data = value;
temp->next = NULL;
}
【问题讨论】:
-
在第一行中,您分配内存并将其分配给
temp。在下一行中,您将用其他内容覆盖temp。这肯定不是你打算做的事情。 -
while(temp != NULL)-->while(temp->next != NULL)但你还需要另一个变量,如上所述。
标签: c linked-list append singly-linked-list function-definition