您的位置:首页 > 编程语言 > C语言/C++

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

2017-07-07 00:00 155 查看
#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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C语言