求解答,为什么free后会报错?

在写链表的时候,用到销毁功能的时候,free过后会报错,状况如下

img

img


另外,在代码最后return 0后,会报一个如下的错误

img


用到的相关代码如下:

img


上图是链表的定义

img


上图是置空链表

img


上图是销毁链表,逻辑是先将其置空,然后将头节点free

img

img


上面是初始化链表以及输入数值


但是如果将销毁里面的free改成L = NULL就不会报错。所以有没有知道的朋友指点一下是哪里出了问题?该怎么修改?谢谢!

Status ClearLink()函数 已经将链表所有结点释放了,接下来就是将指向链表的指针 L=NULL;不让它成为野指针,指针又不能用free() 释放。