C语言怎么动态分配结构体数组

   2024-10-13 5440
核心提示:动态分配结构体数组的方法与动态分配普通数组类似,只需要在分配内存时考虑结构体的大小即可。以下是一个简单的示例代码:#inclu

动态分配结构体数组的方法与动态分配普通数组类似,只需要在分配内存时考虑结构体的大小即可。以下是一个简单的示例代码:

#include <stdio.h>#include <stdlib.h>// 定义一个结构体typedef struct {    int id;    char name[20];} Student;int main() {    int n;    printf("请输入学生人数: ");    scanf("%d", &n);    // 动态分配结构体数组    Student *students = (Student*)malloc(n * sizeof(Student));    // 初始化结构体数组的值    for (int i = 0; i < n; i++) {        students[i].id = i + 1;        sprintf(students[i].name, "Student%d", i + 1);    }    // 打印结构体数组的值    for (int i = 0; i < n; i++) {        printf("学生%d的ID是%d,姓名是%s\n", i + 1, students[i].id, students[i].name);    }    // 释放动态分配的内存    free(students);    return 0;}

在上面的示例代码中,首先通过malloc()函数动态分配了一个包含nStudent结构体的数组。然后使用循环初始化了每个结构体的值,并最后打印出了每个结构体的值。最后使用free()函数释放了动态分配的内存。

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号