第八章 构造类型
通过本章的学习使同学们在掌握数组构造类型的基础之上更多的掌握其他构造类型――结构体和共用体;掌握结构体和共用体的定义、引用方法,切实区分定义类型和定义变量的不同之处;掌握结构体类型与共用体类型变量内存分配的不同之点;了解链表的操作方法;掌握枚举类型的定义和引用。
8.1 概述
我们在前面学习了一些基本类型(也叫简单类型),如整型、实型、字符型等,这些类型都是系统定义好的,程序员可以直接拿来使用。我们知道世界是复杂的,事务的内在关系也是复杂的。例如一个学生的属性包括学号、姓名、性别、出生日期、学习成绩、家庭住址等,这些数据虽然可以用基本类型来定义,但是这样定义不是一个有机的整体,不符合客观实际。因此只用基本类型来表述这些事务显然是不够的,也就是说基本类型不能全面反映客观世界。
既然系统没有定义这些复杂的类型,那么用户能不能根据客观实际来定义数据类型呢,C语言提供了自定义数据类型的方法,通过自定义类型将不同类型的数据组合成一个有机的整体,以便引用,这些数据在一个整体中是互相联系的。这种自定义的数据类型叫构造类型。实际上我们在前面已经学习了一种构造类型――数组,数组是具有相同数据类型的一组元素集合。除了数组之外还有结构体、共用体,下面就着重讲述结构体、共用体类型。
8.2 结构体
结构体类型就是将不同类型的数据组合成一个有机的整体,以便于引用。请看下面的示意图8.1。
[8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47]
