C语言day09-17结构体嵌套
2016-05-06 本文已影响53人
liyuhong165
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;
}