繁体   English   中英

如何解决我在代码中遇到的 valgrind 问题?

[英]How to solve the valgrind problem I am getting in my code?

下面是我的代码,它是一个双链表,我遇到的问题在这个 function 中,它是说:在 0x400C71 处使用大小为 8 的未初始化值:append_linked_list (linked_list.Z4A8A08F09D37B737 write3649038408B583)在 0x400c71 大小为 8: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

不包含有效的指针。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM