c语言动态创建结构体的方法是什么

   2025-02-15 5930
核心提示:在C语言中,可以使用动态内存分配函数malloc()来动态创建结构体。以下是一个示例代码:#include stdio.h#include stdlib.htypede

在C语言中,可以使用动态内存分配函数malloc()来动态创建结构体。以下是一个示例代码:

#include <stdio.h>#include <stdlib.h>typedef struct {    int id;    char name[20];} Person;int main() {    int n;    printf("请输入结构体的个数:");    scanf("%d", &n);        Person* people = (Person*)malloc(n * sizeof(Person));    if (people == NULL) {        printf("内存分配失败\n");        return 0;    }        for (int i = 0; i < n; i++) {        printf("请输入第%d个结构体的id和name:", i+1);        scanf("%d %s", &(people[i].id), people[i].name);    }        printf("输入的结构体信息为:\n");    for (int i = 0; i < n; i++) {        printf("id: %d, name: %s\n", people[i].id, people[i].name);    }        free(people);    return 0;}

上述代码首先通过malloc()函数动态分配了n个Person大小的内存空间,并将返回的指针赋值给people指针。然后遍历people数组,依次输入每个结构体的成员变量值。最后输出输入的结构体信息,并通过free()函数释放动态分配的内存空间。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言