C编程: How to create a linked list using a struct within a struct

标签 c pointers struct linked-list

因此,我尝试创建一个学生数据库,其结构以学生的姓名为主要内容,并包含性别、年龄等其他因素。另外,在该结构中,还有另一个包含学生类(class)成绩的结构:我该怎么做?

最佳答案

您在理解方面的基本问题是您的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);
    }
}

关于C编程: How to create a linked list using a struct within a struct,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47598570/

相关文章:

c - 初始化、构造结构并将其转换为字节数组会导致未对齐

将 char[] 转换为 Int[]

c - C 语言中的 'double pointer' 和 'returning pointer' 哪个更好?

c++ - 如何打印出C-String的内存地址?

C - 线程之间使用的结构体中的字段

c - 为什么我的 C 代码无法识别结构数组并重复用户输入?

c - 无法使用 gdb 将客户端进程附加到 postgresql 服务器

c - 为什么在位溢出的情况下丢弃 MSB?

c++ - C++ 异常和 setjmp/longjmp 的代价

c++ - 为什么 const_cast away volatile 只适用于指针