第14章 结构体、共用体、枚举和typedef
程序设计中,如何合理地组织数据是门学问。前面介绍过的数组是一种组织数据的方式,但数组只适用于同类型的数据,如果类型不同又当如何?而且在现实中,很多对象都具有不同的属性,以人为例,像姓名、性别、身高等都是其属性。如何合理地存储并方便地访问这些信息,是本章要介绍的内容。
本章包含的知识点有:
·结构体
·认识特殊的结构体
·共用体
·共用体与结构体的区别
·枚举类型
14.1 结构体
仍以人为例来介绍,要管理姓名、单位、E-mail地址、联系电话等信息,现实生活中,很多人采用名片的形式,即将这些信息印在一张卡片上。一张张的名片集合在一起大大地方便了数据的管理。将这种理念借鉴到C语言程序设计中,是否有类似于名片的那么一种变量呢?
有,答案就是“结构体变量”,这是一种复合变量。在进一步说明结构体变量前,先来看“结构体”的概念。结构体和结构体变量的关系类似与类型与普通变量的关系,结构体中说明了结构体变量的信息格式,而结构体变量是结构体的实例。
14.1.1 结构体的定义
只有先完成结构体的定义,才能声明并使用结构体变量,正如只有确定了名片上要印什么内容,才能开始印刷名片。结构体的定义即是为了说明结构体变量要存储什么信息的过程。
C语言提供了关键字struct来定义一个结构,一般形式的结构定义为:
struct
结构名称 /*
也称结构标识*/
{
存