9.1.2 结构的概念与定义 ■使用结构来表示通讯录信息: struct friends_list{ char name[10];*姓名*M int age; *年龄*/ char telephone[13];*联系电话*/ }; 结构:构造数据类型,把有内在联系的不同类型 的数据统一成一个整体,使它们相互关联 ■结构又是变量的集合,可以单独使用其成员
9.1.2 结构的概念与定义 ◼ 使用结构来表示通讯录信息: struct friends_list{ char name[10]; /*姓名*/ int age; /*年龄*/ char telephone[13]; /*联系电话*/ }; ◼ 结构:构造数据类型,把有内在联系的不同类型 的数据统一成一个整体,使它们相互关联 ◼ 结构又是变量的集合,可以单独使用其成员
结构的定义 ■结构类型定义的一般形式为: struct结构名{ 关键字struct和它后面 的结构名一起组成一个 类型名结构成员名1; 新的数据类型名 类型名结构成员名2; ●● 类型名结构成员名n; 结构的定义以分号结束, 被看作一条语句
结构的定义 ◼ 结构类型定义的一般形式为: struct 结构名 { 类型名 结构成员名1; 类型名 结构成员名2; • • • 类型名 结构成员名n; }; 结构的定义以分号结束, 被看作一条语句 关键字struct和它后面 的结构名一起组成一个 新的数据类型名
结构定义示例 定义平面坐标结构: struct point double x; double y; }; 虽然x、y的类型相同,也可以用数组的方式 表示,但采用结构体描述整体性更强,增加 了程序的可读性,使程序更清晰
结构定义示例 定义平面坐标结构: struct point { double x; double y; }; 虽然x、y的类型相同,也可以用数组的方式 表示,但采用结构体描述整体性更强,增加 了程序的可读性,使程序更清晰
9.1.3结构的嵌套定义 ■ 在实际生活中,一个较大的实体可能由多个成员 构成,而这些成员中有些又有可能是由一些更小 的成员构成的实体。 ■在手机通讯录中,增加“通信地址” 姓名 性别 年龄 通信地址 联系 电子 城市 街道 门牌号 邮编 电话 邮箱
9.1.3 结构的嵌套定义 ◼ 在实际生活中,一个较大的实体可能由多个成员 构成,而这些成员中有些又有可能是由一些更小 的成员构成的实体。 ◼ 在手机通讯录中,增加“通信地址” 姓名 性别 年龄 通信地址 联系 电话 电子 城市 街道 门牌号 邮编 邮箱
结构的嵌套定义 姓名 性别 年龄 通信地址 联系 电子 城市 街道门牌号 邮编 电话 邮箱 struct addressf struct nest_friendslist char city[10]; char name[10]; char street[20]; char sex[2] int code; int age; int zip; struct address addr; char telephone[13]; }; char email[13]; nest_friend; 在定义嵌套的结构类型时,必须先定义 成员的结构类型,再定义主结构类型
结构的嵌套定义 struct address{ char city[10]; char street[20]; int code; int zip; }; struct nest_friendslist { char name[10]; char sex[2] int age; struct address addr; char telephone[13]; char email[13]; } nest_friend; 在定义嵌套的结构类型时,必须先定义 成员的结构类型,再定义主结构类型。 姓名 性别 年龄 通信地址 联系 电话 电子 城市 街道 门牌号 邮编 邮箱