- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序设计(第3版)谭浩强第7章要点
C++ 程序设计
第2篇 基于过程的程序设计
第7章 用户自定义数据类型
铜陵学院 汪永生
目录
7.1 结构体类型
7.2 枚举类型
7.3 用typedef声明新的类型名
第7章 用户自定义数据类型
7.1 结构体类型
7.1.1 为什么需要用结构体类型
将不同类型的数据组合成一个有机的整体,以供用户方便地使用,这些组合在一个整体中的数据是相互联系的。如:
声明一个结构体类型的一般形式为:
struct 结构体类型名
{成员表};
如:
num
name
sex
age
score
addr
10010
Li Fang
M
18
87.5
Beijing
第7章 用户自定义数据类型
7.1.2 结构体类型变量的定义方法及其初始化
1. 定义结构体类型变量的方法
(1)先声明结构体类型再定义变量
如: Student student1, student2;
(2)在声明类型的同时定义变量
定义一般形式:
struct 结构体名
{
成员表;
} 变量名表;
如:
第7章 用户自定义数据类型
7.1.2 结构体类型变量的定义方法及其初始化
2. 结构体变量的初始化
(1)结构体定义时指定初始化
如:
(2)声明类型与定义变量分开的形式
如:
第7章 用户自定义数据类型
7.1.3 引用结构体变量
2. 结构体变量的初始化
(1)可以将一个结构体变量的值赋给另一个具有相同结构的结构体变量。
如:student1 = student2;
(2)可以引用一个结构体变量中的一个成员的值。引用结构体变量中成员的一般形式为
结构体变量名.成员名
如:student1.num; student1.num=10010;
例7.1 定义两个结构体变量student1和student2,成员包括学号、姓名、性别、出生日期、成绩。对student2初始化,再把student2的值赋给student1。输出student1的各成员。
第7章 用户自定义数据类型
7.1.3 引用结构体变量
2. 结构体变量的初始化
例7.1 定义两个结构体变量student1和student2,成员包括学号、姓名、性别、出生日期、成绩。对student2初始化,再把student2的值赋给student1。输出student1的各成员。
第7章 用户自定义数据类型
7.1.4 结构体数组
结构体数组每个元素都是一个结构全类型的数据,它们分别包括各个成员项。
例7.2 对候选人得票的统计程序。设有3个候选人,最终只能有1个人当选为领导。今有10个人参加投票,从键盘先后输入这10个人所投候选人的名字,要求最后输出各候选人得票结果。
方法一:数组法
第7章 用户自定义数据类型
7.1.4 结构体数组
结构体数组每个元素都是一个结构全类型的数据,它们分别包括各个成员项。
例7.2 对候选人得票的统计程序。设有3个候选人,最终只能有1个人当选为领导。今有10个人参加投票,从键盘先后输入这10个人所投候选人的名字,要求最后输出各候选人得票结果。
方法二:string法
第7章 用户自定义数据类型
7.1.5 指向结构体变量的指针
一个结构体变量的指针就是该变量所占据的内存段的起始地址,可以设一个指针变量,用来指向一个结构体变量,此时该指针变量的值是结构体变量的起始地址。
1.通过指向结构体变量的指针引用结构体变量中的成员
例7.3 定义一个结体变量stu,成员包括学号、姓名、性别、成绩。
定义一个指针变量p指向该结构体变量stu,通过该指针变量输出各成员的值。
结构体变量的指针引用成员变量方法:
(1)(*p).成员名
(2)p-成员名
第7章 用户自定义数据类型
7.1.5 指向结构体变量的指针
2.用结构体变量和指向结构体变量的指针构成链表
链表是一种常见的重要的数据结构。
例7.4 建立一个如图7.6所示的简单链表,它由3个学生数据的结点组成。输出各结点中的数据。
第7章 用户自定义数据类型
7.1.6 结构体类型数据作为函数参数
将一个结构体变量中的数据传递给另一个函数,方法有3种:
(1)用结构体变量名作参数。
(2)用指向结构体变量的指针作实参,将结构体变量的地址传给形参。
(3)用结构体变量的引用作函数形参,它就成为实参的别名。
例7.5 有一个结构体变量stu,内含学生学号、姓名和3门课的成绩。要求在main函数中为各成员赋值,在另一函数print中将它们值输出。
(1)用结构体变量作函数参数
第7章 用户自定义数据类型
7.1.6 结构体类型数据作为函数参数
例7.5 有一个结构体变量stu,内含学生学号
文档评论(0)