天倾辰 2022-11-26 21:05 采纳率: 50%
浏览 4
已结题

如何对嵌套结构体进行动态内存分配

我想要达到的结果

C语言编程
涉及结构体嵌套和动态内存分配
结构体A内包含n个结构体B,这样的结构体A共有m个,采用malloc函数,最后可以通过"A[m].B[n].c"来写入或者读取。
请问如何编写?

  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2022-11-26 21:54
    关注
    #include <stdio.h>
    
    typedef struct _Student
    {
        char name[20];
        int num;
        int score;
    }Student;
    
    typedef struct _Class
    {
        char classname[20];
        Student *pStu;
    }Class;
    
    
    int main()
    {
        int m,n;
        printf("请输入年级的班级数:");
        scanf("%d",&m);
        Class * grade = (Class*)malloc(sizeof(Class) * m);
        for(int i=0;i<m;i++)
        {
            printf("请输入第%d个班级名:",i+1);
            scanf("%s",grade[i].classname);
            printf("请输入第%d个班级学生数:",i+1);
            scanf("%d",&n);
            grade[i].pStu = (Student*)malloc(sizeof(Student)*n);
            for(int j=0;j<n;j++)
            {
                printf("请分别输入第%d个学生的姓名,学号和成绩(用空格分隔):\n",j+1);
                scanf("%s%d%d",grade[i].pStu[j].name,grade[i].pStu[j].num,&grade[i].pStu[j].score);
            }
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月5日
  • 已采纳回答 11月27日
  • 创建了问题 11月26日

悬赏问题

  • ¥15 调用函数时,无关变量的改变引起函数值的改变
  • ¥15 xy坐标转化为经纬度坐标
  • ¥15 一般三角模糊数的上界值和下届值取中值的多少比较合理?
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥20 Hbase启动失败,无法启动HMaster
  • ¥15 sqpingboot在父模块已经引入了mybatisplus 在子组件不写版本号还是报错
  • ¥20 Lumerical FDTD solutions 中模型的相对阻抗,有效介电常数和有效磁导率的实部和虚部的数据如何获得?
  • ¥100 sql reporting service 远程smtp服务器配置支持
  • ¥15 ppyoloe_r带角度目标检测,loss_cls没法收敛
  • ¥15 淘宝交易指数如何解读,其关联的数据指标是什么