void ListDestory(ListNode* head)
{
ListNode* tmp = head;
ListNode* n = NULL;
while (tmp)
{
n = tmp->next;
free(tmp);
if (n == head) // 检测环
{
break;
}
tmp = n;
}}
head接收的是结构体的地址,head是形式参数,但是因为结构体是malloc出来的空间,可以在整个项目下使用。
所以head指向结构体的地址,直接free(head) 可以直接把结构体的空间释放,不会因为什么形参是实参的拷贝而释放失败。