C语言结构体指针初始化相关问题

typedef struct {
    char name[20];
    int num;            //学号和房号都为整型
    int room;
} stu;
stu stud;
typedef struct {
    int length; //当前长度
    stu *elem;  //存储空间基址
    int listsize;  //当前分配的存储容量
} linklist;

//线性表初始化
void Init(linklist *L) { 
    L->length = 0;
    L->elem = (stu *)malloc(N * sizeof(stu));
    L->listsize = N;
}
int main() {  
    linklist *L=NULL;    //定义线性表 L
    Init(L); 

这样子初始化为什么会失败呢

img

你也没输出啊,怎么知道初始化失败的