【问题标题】:How to dynamically define struct elements in C如何在 C 中动态定义结构元素
【发布时间】:2021-01-31 03:20:20
【问题描述】:

我想从我创建的结构中创建与程序中要找到的数量一样多的元素。这是我的代码:

struct students {
    int studentNumber;
    char studentName[50];
    char studentSurname[50];
};
while (fgets(readed, MAXCHAR, fstudent) != NULL) {
        number_of_students++;                                           //Number of students number has been founded!
    }

当我在“While”结构中找到我的学生人数时,如何生成该数量的元素?

【问题讨论】:

  • 你没有。您应该为学生定义一个结构,然后创建这些结构的数组或列表
  • @pm100 我已经为学生定义了一个结构。我的问题是如何根据 number_of_students 创建它的元素
  • 您的意思是每次在循环中都希望将结构数组增加一个元素?或者你的意思是你想在循环之后分配它?
  • 使用malloc? geeksforgeeks.org/…
  • 为什么你有一个学生结构和一个学生姓名数组的学生结构,这是零意义

标签: c loops file struct memory-management


【解决方案1】:

使用 malloc 进行动态内存分配。 struct students *the_students = malloc(number_of_students * sizeof(struct students))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    • 2019-04-20
    • 2018-06-10
    • 1970-01-01
    相关资源
    最近更新 更多