双向链表创建遇到问题
求各位大佬帮忙看下。
双向链表建表的时候(*L) = (DuLinkList)malloc(sizeof(DualNode));一句运行不了,
codeblocks 报错 segment error
我一菜狗找不出问题所在,
求大佬解答,万分感谢!!!
代码如下:
#include <stdio.h>
#include <stdlib.h>
#define OK 1
#define ERROR 0
typedef int Elemtype;
typedef struct DualNode
{
Elemtype data;
struct DualNode *prior;
struct DualNode *next;
}DualNode , *DuLinkList;
int InitDualList (DuLinkList *L, int n)
{
DuLinkList r=0, p=0;
int i;
(*L) = (DuLinkList)malloc(sizeof(DualNode));
if(!(*L))
return ERROR;
r = *L;
r->next= r->prior = NULL;
for(i=1 ; i<=n ; i++)
{
p = (DualNode*)malloc(sizeof(DualNode));
scanf("%d",&p->data);
r->next = p;
p->prior = r;
p->next = NULL;
r = p;
}
return OK;
}
int main()
{
int n;
DuLinkList *L = 0 ;
scanf("%d",&n);
InitDualList(L, n);
return 0;
} main函数里面这个 DuLinkList *L = 0 ;改DuLinkList L = 0 ; a1115796874 发表于 2021-2-5 12:19
main函数里面这个 DuLinkList *L = 0 ;改DuLinkList L = 0 ;
InitDualList(L, n);这里改 InitDualList(&L, n); a1115796874 发表于 2021-2-5 12:19
main函数里面这个 DuLinkList *L = 0 ;改DuLinkList L = 0 ;
感谢感谢,是我太菜了{:10_263:}
页:
[1]