链表不能成功插入元素

问题遇到的现象和发生背景
#include

#define MAXSIZE 100
typedef struct
{
    int elem[MAXSIZE];
    int last;
}SeqList;
#define OK 1
#define ERROR 0
int InsList(SeqList* L, int i, int e)
{
    int k;
    if ((i < 1) || (i > L->last + 2))
    {
        printf("插入位置i值不合法");
        return (ERROR);
    }
    if (L->last >= MAXSIZE - 1)
    {
        printf("表已满,无法插入");
        return (ERROR);
    }
    for (k = L->last; k >= i - 1; k--)
    {
        L->elem[k + 1] = L->elem[k];
    }
    L->elem[i - 1] = e;
    L->last++;
    return (OK);
}
int Locate(SeqList L, int e)
{
    int i = 0;
    while ((i <= L.last) && (L.elem[i] != e))
    {
        i++;
    }
    if (i <= L.last)
        return (i + 1);
    else
        return (-1);
}
int main()
{
    SeqList *list;
    
    for (int j = 1; j < 10; j++)
    {
        int x;
        scanf_s("%d", &x);
        InsList(&list, j , x);
    }
    /*int x = 0;
    int l = 1;
    scanf_s("%d", &x);
    InsList(&list, l, x);*/
}


用代码块功能插入代码,请勿粘贴截图
运行结果及报错内容

img

SeqList list; //去掉 *
list.last = 0;//初始化