第09天C语言(17):结构体嵌套

#pragma mark 结构体嵌套 ###pragma mark 概念

###pragma mark 代码

#include <stdio.h>
int main()
{
#warning 结构体嵌套
    /*
    //
    struct Person
    {
        int age;    // 年龄
        char *name; // 姓名
        
        // 出生日期
        int year;
        int month;
        int day;
        
        // 出生时辰
        int HH; // 24小时
        int mm; // 分钟
        int ss; // 秒钟
        
        // 入学时间
        int year2;
        int month2;
        int day2;
        // 毕业时间
        int year3;
        int month3;
        int day3;

    };
    
    struct Person sp = {24,"lyh",1992,4,17};
    */
    
    // 定义一个时间结构体类型
    // 出生时间
    struct Time {
        int HH;
        int mm;
        int ss;
    };
    
    struct Date
    {
        int year;
        int month;
        int day;
        struct Time time;
    };

    
    struct Person
    {
        int age;
        char *name;
        
        // 出生日期
        struct  Date birth;
        // 出生时间
//        struct  Time shic;
        
        // 小学入学时间
        struct  Date ruxue;
        // 小学毕业时间
        struct  Date biye;
        // .....
    };
    
    struct Person sp =
    {
        30,
        "lyh",
        // 出生日期
        {
            1992,
            4,
            15,
            // 出生时间
            {
                22,
                20,
                15
            },
        },
        
//        // 出生时间
//        {
//            22,
//            20,
//            15
//        },
        
        // 入学时间
        {
            1996,
            6,
            8
        },
        
        // 毕业时间
        {
          2002,
            9,
            5
        }
    };

    // 取值
    // 注意 : 如果结构体的属性又是一个结构体, 那么可以通过连续.的方式,访问结构体属性中的属性
    //        如果结构体类型中的属性又是一个结构体, 那么赋值时候 通过{}赋值
    printf("year = %i, month = %i,day = %i\n",sp.birth.year,sp.birth.month,sp.birth.day);
    printf("hh = %i, mm = %i,ss = %i\n",sp.birth.time.HH,sp.birth.time.mm,sp.birth.time.ss);

    return 0;
}


转载于:https://my.oschina.net/u/3561184/blog/1204106

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值