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