请问如何解决warning

有warning:'L' is used unitialized in this function.
C语言 数据结构


#include
#include
typedef int ElemType;
typedef struct LNode
{
ElemType data;
struct LNode *next,*prev;
}LNode,LinkList;
LinkList TailCreateList(LinkList L,int n)
{
L = (LinkList)malloc(sizeof(LNode));
ElemType x;
LNode
r = L;
int i=0;
while(i
{
LNode *s = (LNode*)malloc(sizeof(LNode));
scanf("%d",&x);
r->next = s;
s->prev = r;
s->data = x;
r = s;
i++;
}
r->next = NULL;
return L;
}

LinkList deleAllVal(LinkList L,int n,ElemType x)
{
LNode *q;
LNode *pre= L;
LNode *p = pre->next;
int i=0;
while(i {
if((p->data == x)&&(p->next!=NULL))
{
q= p->next;
p->prev->next=q;
q->prev=p->prev;
p=p->next;
}
else if((p->data != x)&&(p->next!=NULL)){
p = p->next;
}
else if((p->data == x)&&(p->next==NULL)){
p->prev->next=NULL;
}
i++;
}
while(L->next!=NULL)
{
L = L->next;
printf("%d ",L->data);
}
return L;
}
int main()
{
int n;
scanf("%d",&n);
int x;
LinkList L;
L=TailCreateList(L,n);
scanf("%d",&x);
deleAllVal(L,n,x);
}

img


代码放到代码块里。错误提示贴出