链表是一种很常用的数据结构,如果在建立的时候为其每个节点分配了堆中的内存,则在程序结束前应该释放它,下面是常有的一段释放链表内存的程序:
p = plist;//p和plist是指向一段相同地址空间的两个不同指针。
while(p !=NULL)
{
q=p->next;
free(p);
p=q;
}
plist=NULL;//只是释放了其内存空间,指向链表的指针值并没有被置为空
p = plist;//p和plist是指向一段相同地址空间的两个不同指针。
while(p !=NULL)
{
q=p->next;
free(p);
p=q;
}
plist=NULL;//只是释放了其内存空间,指向链表的指针值并没有被置为空


被折叠的 条评论
为什么被折叠?



