下面是我的代码,它是一个双向链表,我遇到的问题是在这个函数中,它说: 使用大小 8 的未初始化值 在 0x400C71:append_linked_list (linked_list.c:83) 和, 大小 8 的写入无效 在 0x400c71:append_linked_list (linked_list.c83)
Node *append_linked_list(LinkedList *list, void *data)
{
Node *tailnode;
if (list == 0)
{
fprintf(stderr, "Warning: list is empty.");
printf("\n");
return 0;
}
else
{
tailnode = (Node *)malloc(sizeof(Node));
tailnode -> data = data;
tailnode -> next = 0;
tailnode -> prev = list -> tail;
(list -> tail) -> next = tailnode;
list -> tail = tailnode;
}
return tailnode;
}
第 83 行是
(list -> tail) -> next = tailnode;
最佳答案
这意味着
list -> tail
不包含有效的指针。
关于c - 如何解决我在代码中遇到的 valgrind 问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58896946/