我尝试在 c++ 中创建带有 n 元素的链表。
但我收到一条错误消息:
linkedlist.exe 中 0x00D0345E 处的未处理异常:0xC0000005:访问冲突写入位置 0x00000004。
是什么原因?
#include <iostream>
using namespace std;
struct linklist
{
int data;
linklist *next;
};
void Create_linklist(linklist &l,int n) // with n element
{
linklist *phead,*p;
int i=0;
phead=p=NULL;
while (i<n)
{
if (phead==NULL)
{
phead=new linklist;
p=phead;
}
else
{
p->next=new linklist; //--> Seem error this line
p=p->next;
}
cout<<"Input value "<<i+1<<": ";
cin>>p->data;
i++;
p=p->next=NULL;
}
}
void Outer_list(linklist l)
{
linklist *p=new linklist;
if (p!=NULL)
{
cout<<p->data<<" ";
p=p->next;
}
}
void main()
{
linklist list;
Create_linklist(list,5);
Outer_list(list);
system("pause");
}