这是错误的代码,当我将其转移到我的主代码中时,它表明程序收到信号SIGSEGV,分段错误。这是什么问题?
char *DeleteList(LinkList L,char* e,int i)
{
LinkList p;
p=(LinkList)malloc(sizeof(LNode));
p=GetNode(L,i-1);
*e=p->next->data;
p->next=p->next->next;
free(p);
return e;
}
主要功能
int main()
{
char *e;
LinkList L,p,z,q;
L=CreatListH();
p=(LinkList)malloc(sizeof(LNode));
e=DeleteList(L,e,3);
p=L;
p=p->next;
while(p!=NULL)
{
printf("%c",p->data);
p=p->next;
}
头文件语句
#define ERROR 0
#define OK 1
typedef struct LNode{
char data;
struct LNode *next;
}LNode,*LinkList;
LinkList CreatListH();
LinkList CreatListT();
LinkList GetNode(LinkList L,int i);
LinkList LocateNode(LinkList L,char e);
int InsertList(LinkList L,char e,int i);
char *DeleteList(LinkList L,char* e,int i);
int ListLength(LinkList L);
void DifferenceList(LinkList La,LinkList Lb);