【发布时间】:2020-12-25 10:01:11
【问题描述】:
我尝试从链接列表中删除一个词(char* 值),但是当我将我的词与链接列表节点词进行比较时出现异常。
EXC_BAD_ACCESS(代码=1,地址=0xa00000002)
我不确定为什么会发生这种情况,我希望能找到任何解决问题的方法。
LinkedList* DeleteWordElement(LinkedList* head, char* value){
LinkedList *previous=head, *current=head->next;
if (head == NULL)
return head;
if (head->data == value)
{
LinkedList *temp = head;
head = head->next;
free(temp);
return head;
}
while (previous!=NULL)
{
if (previous->data == value) // Exception
break;
current = previous;
previous = previous->next;
}
if (previous != NULL)
current->next = previous->next;
free(previous);
return head;
}
【问题讨论】:
-
*current=head->next;这应该在确保头部不为 NULL 之后完成
标签: c pointers linked-list