1、知知 识识 回回 顾顾1.1.类型定义类型定义知知 识识 回回 顾顾2.2.结构类型声明结构类型声明知知 识识 回回 顾顾3.3.定义结构变量定义结构变量知知 识识 回回 顾顾4.4.定义结构指针定义结构指针知知 识识 回回 顾顾5.5.访问结构成员访问结构成员问问 题题 引引 出出1.1.实际应用中往往更加复杂实际应用中往往更加复杂这就是今天要研究的复杂结构问题这就是今天要研究的复杂结构问题 主主 要要 内内 容容9.4 9.4 复杂结构复杂结构目的要求目的要求复习思考题复习思考题9.5 9.5 结构数组结构数组9.4.1 9.4.1 嵌套结构嵌套结构9.4.2 9.4.2 含数组的结构含数
2、组的结构9.4.3 9.4.3 含指针的结构含指针的结构9.6 9.6 结构与函数结构与函数9.4.1 9.4.1 嵌套结构嵌套结构1.1.嵌套结构嵌套结构结构成员本身是一个结构类型结构成员本身是一个结构类型2.2.声明嵌套结构声明嵌套结构u方法方法1:1:各自声明各自声明u方法方法2:2:整体声明整体声明3.3.嵌套结构的初始化嵌套结构的初始化把每一层上的数据值使用一对把每一层上的数据值使用一对括起来括起来4.4.嵌套结构成员的访问嵌套结构成员的访问结构变量名结构变量名.外层成员名外层成员名.内层成员名内层成员名9.4.2 9.4.2 含数组的结构含数组的结构1.1.声明格式声明格式2.2.
3、注意事项注意事项(1)(1)对结构变量初始化时,要把数组元素的值用对结构变量初始化时,要把数组元素的值用括起来括起来(2)(2)访问结构中数组元素的方法和访问一般数组的方法访问结构中数组元素的方法和访问一般数组的方法u可以用数组名加下标方式可以用数组名加下标方式u可以使用使用指针访问可以使用使用指针访问(3)(3)处理结构中数组的方法和访问一般数组类似,也要使用循环处理结构中数组的方法和访问一般数组类似,也要使用循环9.4.3 9.4.3 含指针的结构含指针的结构1.1.含指针的结构含指针的结构2.2.递归结构递归结构(1)(1)递归结构递归结构是结构中的成员是该结构类型是结构中的成员是该结构
4、类型(2)(2)该类型的变量叫结点,结点中两个成员叫该类型的变量叫结点,结点中两个成员叫数据域数据域和和指针域指针域(3)(3)nextnext可以指向同类型的另一个结点可以指向同类型的另一个结点data*nextdatadata(4)(4)通过指针链接的多个结点叫通过指针链接的多个结点叫单链表单链表9.5 9.5 结构数组结构数组结构数据类型结构数据类型 数组名数组名 元素个数元素个数;1.1.结构数组是类型为结构的数组结构数组是类型为结构的数组2.2.定义结构数组的方法和定义一般数组的方法完全一样定义结构数组的方法和定义一般数组的方法完全一样3.3.结构数组初始化要使用集合套集合的形式结构
5、数组初始化要使用集合套集合的形式结构数据类型结构数据类型 数组名数组名 元素个数元素个数=值列表值列表1,1,值列表值列表22;4.4.使用结构数组的注意事项同一般数组使用结构数组的注意事项同一般数组5.5.结构数组的处理也要使用循环结构数组的处理也要使用循环6.6.也可以使用结构指针处理结构数组也可以使用结构指针处理结构数组9.6 9.6 结构与函数结构与函数1.1.向函数传结构变量向函数传结构变量2.2.向函数传地址向函数传地址3.3.向函数传结构数组向函数传结构数组目目 的的 要要 求求1.1.掌握包含数组成员的结构的使用方法掌握包含数组成员的结构的使用方法3.3.掌握链表的含义和实现方法掌握链表的含义和实现方法4.4.掌握结构向函数传结构的方法掌握结构向函数传结构的方法2.2.掌握包含指针成员的结构的使用方法掌握包含指针成员的结构的使用方法复习思考题复习思考题说明:题目前面的说明:题目前面的*代表问题的重要程度代表问题的重要程度*2.2.如何声明嵌套结构如何声明嵌套结构?如何访问其成员如何访问其成员?*3.3.如何定义递归结构如何定义递归结构?*1.1.解释下列名词解释下列名词*4.4.如何实现单链表如何实现单链表?(1)(1)结构数组结构数组 (2)(2)嵌套结构嵌套结构 (3)(3)单链表单链表*5.5.如何向函数传递结构对象如何向函数传递结构对象?