产生一个违例异常(段异常),我不懂,求大神解答
#include<iostream>#include<stdio.h>
#include<malloc.h>
using namespace std;
#define MaxSize 100
typedef struct
{
int xp;
int yp;
}Box;
typedef struct Lnode
{
Box data;
struct Lnode *next;
}LinkList;
void CreateLinkList(LinkList *L,int a[],int b[],int n)
{
L = (LinkList*)malloc(sizeof(LinkList));
L->next = NULL;
LinkList *p,*s,*r;
int i=0;
p=L;
while( i< n)
{
s=(LinkList *)malloc(sizeof(LinkList));
s->data.xp = a[i];
s->data.yp = b[i];
p->next =s;
p = s;
i++;
}
p->next = NULL;
}
void DispLinkList(LinkList *L)
{
LinkList *p=L;
while(p != NULL)
{
printf("%d %d",(p->data).xp,(p->data).yp);//就是这一句有问题
p=p->next;
}
}
int main()
{
int t;
cin>>t;
while(t--)
{
LinkList *h1;
int n;
cin>>n;
int a[n],b[n];
for (int i=0;i<n;i++)
{
cin>>a[i];
}
for (int i=0;i<n;i++)
{
cin>>b[i];
}
CreateLinkList(h1,a,b,n);
DispLinkList(h1);
system("pause");
}
}