在结构中动态分配一个 int 数组

dynamically allocating an int array inside a structure

我正在尝试为结构内部的成绩动态创建一个整数数组,但我有一个小语法错误。这是我的代码:

typedef struct          
{
    int Stud_ID;
    int class_ID;
    int* Grades;
    int Grade_Cap;
    int Count;
    float Average;
}enrollment;

typedef struct 
{
    int Enrollment_Count;
    int Enrollment_Cap;
    enrollment *enrollment_list;
}enrollments;

void add_grade_space(enrollments *enroll)
{
    enroll->enrollment_list[enroll->Enrollment_Count].Grade_Cap =   malloc(sizeof(int)*2);
}

我得到的错误是:赋值从指针生成整数而不强制转换。

enroll->enrollment_list[enroll->Enrollment_Count].Grade_Cap =   malloc(sizeof(int)*2);

您正在尝试将内存分配给 Grade_Cap,这不是指针。它是一个整数变量。如果你想分配内存,你需要将它声明为int *