#include<stdio.h>
#include<stdlib.h>
#define M 10
struct list
{
int *elem;
int length;
int Listsize;
};
typedef struct list Li;
int InitList(Li *L,int n)
{
L->elem=(int*)malloc(n*sizeof(int));
if(!L->elem)
{
printf("分配空间失败!");
return 0;
}
L->length=0;
L->Listsize=n;
return 1;
}
int ListInsert(Li *L,int i,int m)
{//在线性表中插入数字
if((i<1)||(i>L->length+1))
printf("i值不合法!");
if(L->length>=M)
printf("当前存储空间已满!");
for(int k=L->length-1;k>=i-1;k--)
L->elem[k+1]=L->elem[k];
L->elem[i-1]=m;
++L->length;
return 1;
}
int DeleteList(Li *L,int i,int *e)
{
if(L->length==0)
{
printf("该表为空表!");
return 0;
}
if(i<1||i>L->length)
{
printf("i值不合法!");
return 0;
}
*e=L->elem[i-1];
for(int j=i-1;j<=L->length-2;j++)
L->elem[j]=L->elem[j+1];
L->length--;
return 0;
}
int GetElem(Li L,int i,int *e)
{
if(i<1||i>L.length)
{
printf("i值不合法!");
return 0;
}
*e=L.elem[i-1];
return 1;
}
int LocateList(Li L,int n)
{
for(int i=0;i<=L.length-1;i++)
if(L.elem[i]==n)
return i+1;
return 0;
}
int main()
{
Li *L;
InitList(L,M);
for(int j=0;j<M;j++)
L->elem[j]=j+1;
L->length=M;
ListInsert(L,3,100);
for(int m=0;m<L->length;m++)
printf("%d ",L->elem[m]);
printf("\n");
return 1;
}
为什么会显示local variable 'L' used without having been initialized,是哪儿有什么问题吗?该咋改呀?