将内存分配给每个类型节数组的分数的正确语法是什么?我可以声明一个指向该结构的变量并以这种方式分配它吗?还是我必须首先学习课程结构?
我已分配:course* ptr = (course*)malloc(*num_courses * sizeof(course));
ptr[i].course_name = (char*)malloc(10);
ptr[i].sections = malloc(ptr[i].num_sections * sizeof(ptr[i].sections));
在这里分配课程数组:course* ptr = (course*)malloc(*num_courses * sizeof(course));
分配数组部分(指向学生的指针数组):ptr[i].sections = (student **)malloc(ptr[i].num_sections * sizeof(student *));
要在数组部分中分配每个学生,您必须迭代数组并分配每个学生:
for(int j=0; i<ptr[i].num_sections; i++)
{
ptr[i].sections[j]=(student *)malloc(sizeof(student));
}
**您必须检查每个malloc是失败还是成功。