数据结构顺序表的问题

新手刚学数据结构,想在机子上敲一下。
但是敲到给L分配空间时编译器报错,当我把MAX替换成数字时,错误就没了,有没有大神告诉我这是怎么回事
#include
#include

#define MAX 100;
#define LISRINCREMENT 10;

typedef int Status;
typedef struct {
int *elem;
int length;
int listsize
}SqList;
SqList L;

Status InitList(SqList L) {
L->elem = (int
)malloc(MAX*sizeof(int));
}

#define max 100
没有分号结尾

补充一下一楼,L->elem语法错误,L并非指针。malloc前面()是强制转换应填变量类型,此处是(int *)