请问这两个判断在程序中的作用

想请问一下这两个判断后等于NULL有什么用
感觉第一个head可有可无呀,可能是我对链表理解不到位,请指点一下,谢谢大家啦

img

img

这个就是个防御性编程,可能性不高,但不能排除。malloc并不能百分百成功,存在没有足够空间可分配的情况,导致指针还是空的,如果不检查,后面程序就崩溃掉。

malloc申请堆内存有可能会失败的,失败了就返回NULL,就是说没有申请到可用的地址,当然就不能再往下执行了,否则就会出现非法访问的问题。