我正在尝试编写一个读取文件的程序,接收第一个数字(表示文件中有多少行),然后使用链接列表,将值分配给节点(结构)。分配后,程序将打印结果。 但是,在运行程序时,它会输出“Segmentation fault 11”。 这是我的计划:
setDT(qfile)[, lapply(.SD, sum), by = (date = date - mday(date) + 1)]
有人可以向我解释我的记忆错误在哪里。 提前谢谢。
答案 0 :(得分:1)
此:
current = (*current).next;
毫无意义,你只需要分配一个节点,但似乎希望程序能够迭代多个节点。相反,你会得到未定义的行为,因为你正在关注未初始化的指针。
您需要为需要分配的每个节点拨打malloc()
一次,并将它们全部链接起来。
顺便说一句,(*current).next
更典型的是current->next
。