【C语言】为什么输出的内容什么都没有?

#include<stdio.h>
#define Maxsize 100
#include<malloc.h>
typedef struct sqlis{
int dat[Maxsize];
int leng;
}sql;

//插入元素
void insert_list(sql *&list,int i,int e){
int j;
if(i<0||i>list->leng){
printf("插入位置错误");

}
for(j=list->leng;j>=i;j++){
    list->dat[j+1]=list->dat[j];
}
list->dat[i-1]=e;
list->leng++;

}

int main(){
sql list;
int i=1;
list=(sql
)malloc(sizeof(sql)); //主程序中分配空间
list->leng=6;
insert_list(list,i,11);
insert_list(list,i,11);
insert_list(list,i,11);
for(int j=0;jleng;j++){
printf("%d",list->dat[j]);
}
return 0;
}

输出的内容为空,什么都没有,求解答😭

大哥逗我呢,你main函数第一句那是个啥

修改见注释,供参考:

#include <stdio.h>
#include <malloc.h>
#define Maxsize 100
typedef struct sqlis {
    int dat[Maxsize];
    int leng;
}sql;

//插入元素
void insert_list(sql*& list, int i, int e){
    int j;
    if (i < 1 || i > list->leng + 1) { //if (i < 0 || i > list->leng)修改
        printf("插入位置错误");
        return; //修改
    }
    for (j = list->leng; j > i - 1; j++) {  //for (j = list->leng; j >= i1; j++)修改
        list->dat[j] = list->dat[j - 1];
        //list->dat[j + 1] = list->dat[j];
    }
    list->dat[i - 1] = e;
    list->leng++;
}

int main() 
{
    sql* list;
    int i = 1;
    list = (sql*)malloc(sizeof(sql)); //主程序中分配空间
    list->leng = 0;//list->leng = 6;
    insert_list(list, i, i); i++; //修改
    insert_list(list, i, i); i++; //修改
    insert_list(list, i, i); i++; //修改
    for (int j = 0; j < list->leng; j++) {
        printf("%d ", list->dat[j]);
    }
    return 0;
}