C语言教学与习题答案第10章详细分解.pptVIP

  • 9
  • 0
  • 约6.58千字
  • 约 40页
  • 2016-12-19 发布于湖北
  • 举报

C语言教学与习题答案第10章详细分解.ppt

第10章 构造数据类型及其应用 10.1 结构体数据类型 10.2 结构体类型变量 10.3 结构体数组 10.4 结构体指针 10.5 结构体变量与函数 10.6 内存的动态存储分配技术 10.7 结构体应用实例 10.8 共用体 10.9 枚举 10.10 自定义类型 10.11 小结 10.1 结构体数据类型 10.1.1 什么是结构体 10.1.2 如何定义结构体 10.1.1 什么是结构体 “结构体”是一种构造类型,它由若干“成员”(或称为域)组成。 每一个成员可以是一个基本数据类型或者又是一个构造类型。 不同的结构体类型可根据需要,由不同的成员组成。但对于某个具体的结构体类型,其成员的数量必须是固定的,这和数组是相同的。但该结构体中各个成员的类型可以不同,这是结构体和数组的区别。 10.1.2 如何定义结构体 结构体既是一种“构造”而成的数据类型,那么在说明和使用之前必须先定义它,也就是构造它。如同在说明和调用函数之前要先定义函数一样。定义一个结构体类型的一般形式为: struct 结构体类型名 { 类型名1 结构体成员名1; 类型名2 结构体成员名2; …… 类型名n 结构体成员名n; }; 10.2 结构体类型变量 10.2.1 如何定义结构体变量 10.2.2 如何引用结构体变量 10.2.3 如何初始化结构体变量 10.2.1 如何定义结构体变量 定义结构变量有3种方法:先定义结构体再定义结构体变量;在定义结构体类型的同时定义结构体变量;直接定义结构体变量。下面以定义员工信息的结构体变量为例进行说明。 (1)先定义结构,再说明结构变量 struct 结构体类型名 结构体变量名表列; (2)在定义结构类型的同时说明结构变量 struct 结构体类型名 { …… }结构体变量名表列; (3)直接说明结构变量 struct { …… }结构体变量名表列; 10.2.2 如何引用结构体变量 C 规定引用结构体成员有两种方式:用结构体成员运算符方式和指针方式。指针方式在以后的章节中介绍,这里主要介绍结构体成员运算符方式。 结构体成员运算符引用结构体成员的形式为: 结构体类型变量名 . 成员名 【例10-1】本实例演示了结构体变量的输入和输出。 10.2.3 如何初始化结构体变量 由于结构体类型变量中包含各类不同数据类型的成员,所以结构体类型变量的初始化就略显复杂。 结构体变量初始化的一般形式如下: struct 结构体名 结构体变量名={各成员初始数据}; 【例10-2】本实例演示了外部存储类型的结构体变量初始化的实现。 【例10-3】本实例演示了静态存储类型的结构体变量初始化的实现。 【例10-4】本实例演示了将一个结构体变量直接赋值给另一个结构体变量的实现。 10.3 结构体数组 10.3.1 如何定义结构体数组 10.3.2 如何初始化结构体数组 10.3.3 如何引用结构体数组 10.3.1 如何定义结构体数组 结构体数组的定义方法和结构体变量相似,只需说明它为数组类型,多用一个方括号而已。结构体数组的定义有3种方法:先定义结构再定义结构体数组、在定义结构体类型的同时定义结构体数组、直接定义结构体数组。 (1)先定义结构,再说明结构变量 struct 结构体类型名 结构体数组; (2)在定义结构类型的同时说明结构变量 struct 结构体类型名 { …… }结构体数组; (3)直接说明结构变量 struct { …… }结构体数组; 10.3.2 如何初始化结构体数组 结构体数组也是数组,数组定义时系统只能对外部的或静态的结构体数组初始化。数组初始化时,将初始化的数据放在一对花括号内。在对结构体数组初始化时,也要将每个元素的初始化数据用花括号括起来。由于每个结构体变量本身初始化时又需用花括号括起来,所以,对结构体数组初始化至少有两层花括号。 [存储类型] struct 结构体名 结构体数组名[ n]={初始数据表列}; 10.3.3 如何引用结构体数组 一个结构体数组中的元素相当于一个结构体变量,所以引用结构体数组元素的方法和引用结构体变量的方法一样。 (1)引用数组中某个元素中的成员,形式如下: 数组元素.成员名 (2)可以将结构体数组元素赋值给同类型的结构体变量,也可以赋值给同一结构体类型数组中另外一个元素。 (3)同结构体变量相同,不能将结构体数组元素作为一个整体进行直接输入或输出。 【例10-5】本实例演示了输入输出5名员工的信息并计算员工的平均工资。 10.4 结构体指针 10.4.1 结构体类型变量的指针 10.

文档评论(0)

1亿VIP精品文档

相关文档