因此,我正在尝试创建一个具有结构的学生数据库,该结构将姓名作为主要因素,并考虑其他因素,例如性别,年龄。同样在该结构中,还有另一个包含学生班级成绩的结构:我该怎么做?

最佳答案

理解的基本问题是您的students结构错误,并且在误导您。查看此内容,并尝试了解它的工作原理以及为什么它是您所需要的以及如何使用它来解决问题:

struct student{
    char name[20];
    int age;
    char gender[7];
    struct grades gr;
    struct student *nextStudent;
};


您的打印功能可能如下所示

void print (void){
    for(struct student *stud = root; stud != NULL; stud = stud->nextStudent){
        printf("Name: %s\n",stud->name);
        printf("Grades: %s, %s, %s, %s\n", stud->gr.math, stud->gr.history, stud->gr.science, stud->gr.writing);
    }
}

10-07 12:55