это неправильный код, хотя я передаю его в своем основном коде, он показывает, что программа получает сигнал 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);