数据结构顺序表使用动态分配数组不能赋初值

代码:

#include <stdio.h>
#define InitSize 10

typedef struct {
    int* data;
    int length;
} Sqlist;

int main()
{
    Sqlist L;
    L.data = (int*)malloc(sizeof(int) * InitSize);
    L.length = 10;
    L.data[0] = 1;
    L.data[1] = 2;
    L.data[2] = 2;
    L.data[3] = 2;
    L.data[4] = 2;
    L.data[5] = 3;
    L.data[6] = 3;
    L.data[7] = 3;
    L.data[8] = 4;
    L.data[9] = 4;

    for (int i = 0; i < L.length; i++)
        printf("%d, ", L.data[i]);
    return 0;
}

运行结果:

img

malloc()函数,缺了 #include<stdlib.h> 头文件了。

stdlib.h这个库呢?

img

代码没发现错误,你关闭了重新打开,重新编译看看

img