如何在 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#后面的代码中动态创建数据模板并绑定树视图层次结构数据