我正在尝试为结构内部的成绩动态创建一个int数组但我的语法错误很小。这是我的代码:
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);
}
我得到的错误说:赋值在没有强制转换的情况下从指针生成整数。
答案 0 :(得分:0)
enroll->enrollment_list[enroll->Enrollment_Count].Grade_Cap = malloc(sizeof(int)*2);
您正在尝试将内存分配给Grade_Cap
,而不是指针。它是一个整数变量。如果你愿意,你需要将它声明为int *
来分配内存。