尝试使用链接列表运行程序并接收“Segmentation Fault 11”

时间:2017-09-28 08:58:15

标签: c linked-list segmentation-fault

我正在尝试编写一个读取文件的程序,接收第一个数字(表示文件中有多少行),然后使用链接列表,将值分配给节点(结构)。分配后,程序将打印结果。 但是,在运行程序时,它会输出“Segmentation fault 11”。 这是我的计划:

setDT(qfile)[, lapply(.SD, sum), by = (date = date - mday(date) + 1)]

有人可以向我解释我的记忆错误在哪里。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

此:

          current = (*current).next;

毫无意义,你只需要分配一个节点,但似乎希望程序能够迭代多个节点。相反,你会得到未定义的行为,因为你正在关注未初始化的指针。

您需要为需要分配的每个节点拨打malloc()一次,并将它们全部链接起来。

顺便说一句,(*current).next更典型的是current->next