关于free()函数用法问题

来源:百度知道 编辑:UC知道 时间:2024/06/17 23:52:35
例如:我已经用struct student{int num;char name[20];struct student *next}和malloc函数构建了一个有10个结构体类型的链表,而且链表的内存空间不是连续的,如果我用free(head)是释放全部的内存空间,还是只释放head指针所指向的1个结构体。
希望大家能帮下忙

只释放head指针所指向的1个结构体。
可以这样
while(head->next!=null)
{
student* tmp=head;
head=head->next;
free(tmp);

}

是的.但是,没了头结点.其它的你也就找不到了.这就等于是释放了整个链表.