关于#c语言#的问题:C6385 正在从"pstu"读取无效数据

C6385 正在从"pstu"读取无效数据


void Built_shitiKu()
{
    int i, num;
    xuanti* pstu;
    printf("输入试题数目: \n");
    scanf_s("%d", &num);
    fflush(stdin);
    pstu = (xuanti*)malloc(num * sizeof(xuanti));//动态分配内存
    if (pstu == NULL)
    {
        printf("没有足够的内存空间! \n");
    }
    else
    {
        for (i = 0; i <= num; i++)
        {//输入试题
            printf("第%d道试题:", i + 1);
            gets_s(pstu[i].a);
            fflush(stdin);//清空键盘缓冲区
            printf("\n");
        }
        WriteToFile(pstu, num);//将pstu所指向的信息写入文件中
        memset(pstu, 0, num * sizeof(xuanti));//将pstu所指向的内存块清0
        ReadFromFile(pstu, num);//从文件中读取信息到pstu所指向的内存块中
        printf("试题列表;\n");
        for (i = 0; i < num; i++)
        {//输入试题
            printf("第%d道试题:", i + 1);
            printf("%s", pstu[i].a);
            printf("\n");
        }
        free(pstu);//释放动态分配的内存
    }
}

我看可能因为你定义的pstu并不是一个结构体数组,但是你把她当结构体数组来用了,你看看是不是