c - 将节点插入双链表时出现段错误

标签 c

void ins_after(struct node *node, struct node *new_node)
{
    new_node -> next = node -> next; 
    node -> next = new_node; 
    new_node -> next -> prev = new_node;
    new_node -> prev = node;
}

当我尝试将节点插入双列表时,上面的代码给出了段错误。知道为什么吗? =/

最佳答案

您必须NULL - 检查指针,考虑如果节点位于列表的开头或结尾会发生什么,就像通过重复构建列表时经常发生的情况一样追加。

“孤独”列表项的 prevnext 通常都等于 NULL

关于c - 将节点插入双链表时出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14690475/

相关文章:

C:Roguelike map 很奇怪

c - 'names' 字符串在使用 'Symbol' 结构进行 qsort 后消失

c - 代码错误(状态机)

C程序卡住,甚至不进入主程序

c - 如何在C程序中获取当前文件夹的父目录?

c - 在 C 语言中,宏是否比全局变量运行得更快?如何在运行之间更改宏?

c - 如何去除代码中的 GVim 折叠注释?

c - 如何正确原型(prototype)化 C 函数

c - C 中带有初始化的 const 数组定义是否需要长度参数?

javascript - Matlab 多边形中的点