[求助]关于free函数的问题
请问free函数释放的内存区在调用free函数前后有变化吗,我这个程序除了第一个节点外剩下的节点指向的内存区释放后貌似没有变化。。。运行后如图所示。。。源程序如下
/* Note:Your choice is C IDE */
/*编写一个函数,释放已知链表中的所有节点*/
#include "link.h"
main()
{
void release(link);
/*link是在link.h中定义的节点指针类型*/
link a = init(10,1)/*初始化一个包含10个节点的非循环无哑节点链表*/;
link b =a;
release(b);
}
void release(link a)
{
link p = a;
link q;
while(p!=NULL)
{
q = p->next;/*保存下一个要释放节点*/
printf("%d\n",p->num);/*打印该节点释放前的值*/
free(p);
printf("%d\n",p->num);/*打印该节点释放后的值*/
p = q;
}
}