c - C中的链表

标签 c linked-list nodes tree-nodes

我在使用双链表时遇到问题:我无法通过另一个节点从节点获取数据。这样:节点->上一个->上一个 .但是 node->prev 很好。
有谁知道为什么?

编码:

/*Add value - right side*/
void addListRight(doubleList *node, int value)
        {
        doubleList *newNode;
        newNode = createList();
        newNode->val = value;
        newNode->right = node->right;
        newNode->left = node;
        node->right->left = newNode; /*<-Error start here - 'segmentation error' or something like this*/
        node->right = newNode;
        }

使用谷歌,我发现有些人把 () 是这样的:(node->right)->right。我试过了,但结果是一样的。

使用 GCC/Ubuntu 10.10

*我想说“->”的正确词,但我不懂英文。我的不好..对不起!这个问题的标签也一样!

最佳答案

在使用这样的指针之前,您应该检查 NULL。列表的头部不会有 prev。

关于c - C中的链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4847076/

相关文章:

c - 删除锯齿状数组时出现段错误

c++ - 数组是一种数据类型吗?

c - 这段代码中段错误的原因

java - 破解编码面试循环链表

具有空对象模型的 C++ 双向链表

html - 如何使用 CLI 在 Windows 操作系统中将 node.js 6.x 更新到 8.x

python - 从网页中抓取文本

c - 用 C 打开并读取文件

algorithm - 图自动布局算法

xml - 来自另一个文件的PowerShell XML节点