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

来源:互联网 发布:php技术论坛 编辑:程序博客网 时间:2024/05/30 05:42
在leetcode上做一道用struct作为链表节点的题目时,遇到了一次runtimeerror。后来排查原因,发现是在一次写了如下的语句:
new_digit->next=(struct ListNode *)malloc(sizeof(structListNode));
new_digit=new_digit->next;
之后,没有对这个指针的成员进行初始化,当加入下面的初始化语句:
new_digit->next=NULL;
new_digit->val=0;
就直接AC了。

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

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