初始化线性表出现的问题

初始化线性表

#include 

typedef enum{OK,ERROR,OVERFLOW}Status;
#define MAXSIZE 100
#define ElemType int


typedef struct{
    ElemType data[MAXSIZE];
    int length;
}SqList;


Status InitList(SqList,&L)
{
    L = new SqList;
    L.elem = new ElemType[MAXSIZE];
    if(!L.elem) exit(OVERFLOW);
    L.length = 0;
    printf("初始化成功!\n");
    return OK;
}

void main()
{
    SqList L;
    InitList(L);
}

编译后一直显示在14行出现[Error] expected declaration specifiers or '...' before '&' token
应如何修改

修改如下,供参考:

#include <stdio.h>
#include <stdlib.h>
typedef enum { OK, ERROR, OVERFLOW } Status;
#define MAXSIZE 100
#define ElemType int
typedef struct {
    ElemType data[MAXSIZE];
    int length;
}SqList;

Status InitList(SqList &L) //(SqList, &L) 修改
{
    //L是个变量,空间已分配了,不需要动态分配。
    //L = new SqList;                //修改
    //L.elem = new ElemType[MAXSIZE];//修改
    //if (!L.elem)                   //修改
    //    exit(OVERFLOW);              //修改
    L.length = 0;
    printf("初始化成功!\n");
    return OK;
}

void main()
{
    SqList L;  //定义了一个表对象 L,空间已分配。
    InitList(L);
}