帮我看下指针有没有释放、没有的放在哪释放好

来源:百度知道 编辑:UC知道 时间:2024/05/03 14:45:26
书上有个单链表,运行都通过了。问题见标题。
#include<iostream.h>
#define elemtype int
struct link
{
elemtype data;
link *next;
};
//头插法
link *hcreat()
{
link *s,*p;
elemtype i;
cout<<"输入多个结点数值(用空格分隔),为0时算法结束:";

p=new link;
p->next=NULL;
cin>>i;
while(i)
{

s=new link;
s->data=i;
s->next=p->next;
p->next=s;
cin>>i;
}
return p;
}
//尾插法
link *rcreat()
{
link *s,*p,*r;
elemtype i;
cout<<"输入多个结点数值(用空格分隔),为0时算法结束:";
cin>>i;
p=r=new link;
p->next=NULL;
while(i)
{
s=new link;
s->data=i;
r->next=s;
r=s;
cin>>i;
}
r->next=NULL;
return p;
}
//显示单链表
void print(link *head)
{
link *p;
p=head->next;
while(p->next!=N

经调试,已经全部释放

VC中调试,单步调试查看内存泄露(没有释放)结果如下:

Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\kernel32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\sysfer.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\netapi32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\advapi32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\rpcrt4.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\secur32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\msvcrt.dll', no matching symbolic information found.
The thread 0xC80 has exited with code 0 (0x0).
The program 'D:\工作\Temp1\Debug\