如何在 C 中动态定义结构元素

Posted

技术标签:

【中文标题】如何在 C 中动态定义结构元素【英文标题】:How to dynamically define struct elements in 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/… 为什么你有一个学生结构和一个学生姓名数组的学生结构,这是零意义 【参考方案1】:

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

【讨论】:

以上是关于如何在 C 中动态定义结构元素的主要内容,如果未能解决你的问题,请参考以下文章

如何在C#后面的代码中动态创建数据模板并绑定树视图层次结构数据

如何定义一个动态的数组

如何在C#/ Unity中访问预定义结构化对象中的其他元素?

如何在ORACLE中定义一个数组

结构体怎么定义

c语言 动态数组