关于链表的问题,由于急用,跪求各位帮忙解决!
这是我建立循环双链表的代码,但是在运行时,系统报错,说是不能指令引用的内存不能为“written”
代码如下:请各位帮帮忙,急用!
#include <stdio.h>
#include <stdlib.h>
//定义结构体
typedef struct Node
{
char data; //定义数据域
struct Node *next; //指向后继结点
struct Node *pre; //指向前驱结点
}Node,*DLinkList;
//创建双链表函数
DLinkList createList()
{
Node *s,*r;
char d='0';
bool flag=true;
DLinkList L;
L=(DLinkList)malloc(sizeof(Node)); //建头结点
L->next=NULL;
r=L; //r为头指针。不能直接用L
printf("please input the data: \n");
while (flag)
{
scanf("%c",d);
if (d!='#')
{
s=(Node *)malloc(sizeof(Node));
s->data=d;
r->next=s;
s->pre=r;
r=s;
}
else
{
flag=false;
r->next=L;
L->pre=r;
}
}
printf("你已经成功建立一个循环链表!\n");
return L;
}
void main()
{
DLinkList L;
L=createList();
}