求解答,为啥运行不得
```c++
//定义头文件
#include<stdio.h>
#include<malloc.h>
//定义全局变量
#define MaxSize 50
//定义元素类型
typedef char ElmeType
//定义顺序表的结构体
typedef struct
{
ElemType data[MaxSize];
int length;
}SqList;
//初始化线性表
void LnitList(SqList *&L)
{
//动态分配空间
L=(SqList*)malloc(sizeof(Sqlist));
//线性表(顺序表)的长度为0
L->Length=0;
}
//创建顺序表
void CreateList(SqList *&L,ElemType a[],int n)
{
int i;
//分配存放线性表的空间
L=(Sqlist*)malloc(sizeof(Sqlist));
//把a数组中的元素依次放置到线性表的data[]
for(i=0;i<n;i++)
L->data[i]=a[i];
//设置线性表的长度
L->length=n;
}
//输出顺序表
void DispList(SqList *L)
{
//判断线性表是否为空
if(ListEmpty(L))
return;
//依次输出线性表的内容
for(int i=0;i<L->length;i++)
printf("%d",L->data[i]);
printf("\n");
}
//求线性表的长度
int ListLength(SqList *L)
{
return(L->length);
}
//求线性表第i个数据元素值,并存放在变量e中
int GetElem(SqList *L,int i,ElemType &e)
{
//判断i是否合理
if(i<1||i>L->length)
return false;
//把元素赋值给e
e=L->data[i-1];
return ture;
}
//按元素值查找,若查找不成功,返回0,否则返回该元素的逻辑位序
int LocateElem(SqList *L, ElemType e)
{
int i=0;
//扫描数组元素,i++
while(i<L->length->dada[i]!=e)
i++;
//若i>L->length,则查找不成功,返回0,否则返回该元素的逻辑位序
if(i>=L->length)
return 0;
else
return i+1;
}
//main函数
void main()
{
Sqlist*L;
ElemType a[10];
int i,n=10;
printf("请输入10个字符:\n");
for(i=0;i<10;i++)
scanf("%c",&a[i]);
//调用InitList()初始化线性表
Lnitlist(L);
//调用CreateList()建立线性表
CreateList(L,a,n);
//调用DispList()输出线性表
DispList(L);
//调用ListLength ()求线性表的长度
ListLength(L);
//调用GetElem ()找线性表第i个元素
GetElem(L,i,e);
//调用LocateElem ()查找线性表中是否存在所给元素
LocateElem(L,e);
}
```