首页 > 解决方案 > 如何在 C 中实现动态多维结构数组

问题描述

我的问题是我需要有可能存储许多课程,每个课程都有一个名称,并且在一个课程中有多个部分,每个部分中的一些学生都有一个名字(显然),每个学生都有一些类型的赋值float

到目前为止,我创建了一个嵌套结构:

struct Student {
    float *Assignments;
};

struct Section {
    char Student_Name[30];
    struct Student *Students;
};

struct Course {
    char Course_Name[10];
    struct Section *Sections;
};

struct Test_Cases {
    struct Course *Courses;
};

有一个指向根结构的指针:

struct Test_Cases *ptr;

并且似乎为根结构和课程分配了内存:

ptr = (struct Test_Cases *)malloc(*Num_Cases * sizeof(struct Test_Cases));

ptr->Courses = (struct Course *)malloc(*Num_Courses * sizeof(struct Course));

我这样做的方式正确吗?谢谢。

标签: carraysstructdynamic-memory-allocation

解决方案


是的,它似乎是正确的开始。


推荐阅读