zoukankan      html  css  js  c++  java
  • C语言----结构的嵌套(进阶篇二十三)

      结构数组

        既然结构是一个自定义“类型”,那么我们可以像int那样,定义一个结构数组:

          struct student ArrayStu[10];

        上面的代码一次定义了10个学生。如果同时给这个数组的前2个元素初始化,就写为:

          struct student ArrayStr[10]={{“张三”,”男”,18},{“李四”,”女”,22}};

       结构数组元素使用时和普通变量一样要加上下标:

          ArrayStu[1].age=18;

          它把李四的年龄改成了18岁

      结构嵌套

        struct Student /*学生*/

          {

            char name[10]; /*姓名*/

            char sex[3]; /*性别*/

            int age; /*年龄*/

          };

     

        struct Room /*寝室*/

          {

            int number; /*号码*/

            struct Student stu; /*学生*/

          };

        main()

          {

            struct Room room;

            strcpy(room.stu.name,”张三”);

          }

     

        ※这里举的是结构嵌套结构变量的例子,结构也可以嵌套结构。

      结构成员为数组

        我们将学生结构定义修改一下:

        struct student /*学生*/

         {

          char name[10]; /*姓名*/

          float score[8]; /*本学期8门课成绩*/

          float aver; /*平均分*/

        };

        此结构表示每个学生将本学期8门课的考试成绩放在score数组中,最后通过程序算出平均分存进aver。

    // 23-1结构体计算平均分.c
    
    #include <stdio.h>
    
    //学生结构体
    struct student
    {
        char name[10];
        float score[8];
        float aver;
    };
    
    main()
    {
        struct student stu = { "张三",81.1,73.3,68.9,75.7,98,3,99.1,78.1,90.2 };
        int i;
        for (int i = 0; i < 8; i++)
        {
            stu.aver += stu.score[i];
        }
        stu.aver = stu.aver / 8;
        printf("%f
    ", stu.aver);
    }
  • 相关阅读:
    聊天软件项目UDP升级版
    聊天软件项目TCP升级版
    JVM内存管理机制
    Java for循环的几种用法详解
    HashMap解决hash冲突的方法
    Hadoop NameNode 高可用 (High Availability) 实现解析
    Hadoop2.0NameNode HA和Federation实践
    Hadoop2.0中单点故障解决方案总结---老董
    HadoopHA简述
    数据库部分面试题
  • 原文地址:https://www.cnblogs.com/httpcc/p/15481746.html
Copyright © 2011-2022 走看看