首页
登录 | 注册

C中struct(结构体)初始化的问题

在leetcode上做一道用struct作为链表节点的题目时,遇到了一次runtime error。后来排查原因,发现是在一次写了如下的语句:
new_digit->next=(struct ListNode *)malloc(sizeof(struct ListNode));
new_digit=new_digit->next;
之后,没有对这个指针的成员进行初始化,当加入下面的初始化语句:
new_digit->next=NULL;
new_digit->val=0;
就直接AC了。

这个问题比较难排查,当用testcase,也就是自己用样例来测试的时候,就不会出现这样的错误,可以得到正确答案。这个问题在leetcode官方的QA上也提到过,说是因为系统的原因,导致有些错误没法通过自行run code解决.......

所以总的来说,还是得自己养成好的编程习惯,特别是对于指针,一定要初始化,至少要赋一个NULL值


2020 jeepxie.net webmaster#jeepxie.net
10 q. 0.007 s.
京ICP备10005923号