取个名字好麻烦 发表于 2021-2-5 11:00:00

双向链表创建遇到问题


求各位大佬帮忙看下。
双向链表建表的时候(*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;
}

a1115796874 发表于 2021-2-5 12:19:05

main函数里面这个 DuLinkList *L = 0 ;改DuLinkList L = 0 ;

a1115796874 发表于 2021-2-5 12:19:41

a1115796874 发表于 2021-2-5 12:19
main函数里面这个 DuLinkList *L = 0 ;改DuLinkList L = 0 ;

InitDualList(L, n);这里改 InitDualList(&L, n);

取个名字好麻烦 发表于 2021-2-6 11:07:28

a1115796874 发表于 2021-2-5 12:19
main函数里面这个 DuLinkList *L = 0 ;改DuLinkList L = 0 ;

感谢感谢,是我太菜了{:10_263:}
页: [1]
查看完整版本: 双向链表创建遇到问题