【发布时间】:2017-07-08 04:04:30
【问题描述】:
很抱歉提出这么低质量的问题,但我不知道为什么下面的代码不起作用。
list 指向节点的头部。
void DeleteHeadNode(Node** list, Node * node)
{
if ((*list) == node) {
Node * next = node->nextnode;
next->prevnode = NULL;
free(*list);
}
}
【问题讨论】:
-
“不起作用”是什么意思?
-
当我尝试连续删除头部时它会冻结
-
那是因为你的变量
list第二次有一个无效的指针 - 试试我答案中的代码。 -
您的问题解决了吗?答案有帮助吗?如果是这样,您应该将其标记为选定的答案,这就是 SO 的工作方式;)