use*_*628 0 c valgrind linked-list
struct node {
int data;
struct node *next;
};
int main() {
struct node *head = malloc(sizeof(struct node));
struct node *current = head;
...
};
Run Code Online (Sandbox Code Playgroud)
虽然这段代码可以在没有任何警告或错误的情况下运行,但Valgrind会给出一些消息Conditional jump or move depends on uninitialised value(s)
,Uninitialised value was created by a heap allocation
我无法弄清楚出了什么问题.我们在node
函数外定义了一个struct main
.所以我认为我们可以使用sizeof(struct node)
,不是吗?
您需要使用head初始化数据和下一个指针.我的意思是
head->data = 0;
head->next = NULL;
Run Code Online (Sandbox Code Playgroud)
它将通过Valgrind检查
归档时间: |
|
查看次数: |
109 次 |
最近记录: |