C++_Chapter7

C++_Chapter7

ID:41299257

大小:255.50 KB

页数:31页

时间:2019-08-21

C++_Chapter7_第1页
C++_Chapter7_第2页
C++_Chapter7_第3页
C++_Chapter7_第4页
C++_Chapter7_第5页
资源描述:

《C++_Chapter7》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、1第7章自定义数据类型----结构体类型共用体枚举类型用typedef声明类型27.1结构体类型7.1.1结构体概述学校要统计学生情况,于是张翼德同学给出了一张自己的信息表:学号428004姓名张翼德性别男年龄20平均成绩88.5地址上海市国定路77号9舍10室从上表来看,我们需要两个字符串分别用来存储姓名和院系,需要两个整型变量分别来存储学号和年龄,还需要一个浮点型变量来存储平均成绩。一个学生已经需要至少6个存储变量,一班几十个学生,那将需要上百个存储变量。如果有这么多的变量,显然是很难管理的。3C++中有一种数据

2、类型称为结构(Structure)类型,它允许用户自己定义一种数据类型,并且把描述该类型的各种数据类型一一整合到其中。学生学号——整型姓名——字符串性别——字符型年龄——整型成绩——浮点型地址——字符串这样,一个学生拥有的学号、姓名、年龄、院系和平均成绩这五项属性成为了一个整体。我们把这些属性称为这个结构类型的成员数据。这样一来,杂乱的数据和每个学生一一对应了起来,方便了我们管理。4创建一种结构类型的语法格式为:创建结构类型的位置必须在首次使用该类型名之前,否则程序将无法正确识别该类型。如果我们要创建前面的学生类型,

3、可以写作:struct[结构体类型名]{类型标识符成员名;类型标识符成员名;…………….};成员类型可以是基本型或构造型struct是关键字,不能省略合法标识符可省:无名结构体5这时候,就有了一个新的数据类型,称为student。就象使用其他数据类型一样,可以用这种student类型来定义数据类型是student的变量,并可以依次对它的成员数据进行初始化。例structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};结构体类型定

4、义描述结构的组织形式,并没有定义实例,不分配内存结构体类型定义的作用域分号不能省略67.1.2结构体类型变量定义与初始化1.定义结构体类型变量的方法(1)先声明(构造)结构体类型再定义变量名例structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};studentstudent1,student2;struct结构体类型名{类型标识符成员名;类型标识符成员名;…………….};结构体名变量名表列;7(2)声明(构造)结构体类型的

5、同时定义变量struct结构体类型名{类型标识符成员名;类型标识符成员名;…………….}变量名表列;例structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];}student1,student2;8(3)声明(构造)结构体类型的同时定义变量,但省略结构体类型名struct{类型标识符成员名;类型标识符成员名;…………….}变量名表列;例struct{intnum;charname[20];charsex;intage;float

6、score;charaddr[30];}stu1,stu2;用无名结构体直接定义变量只能用一次9说明结构体类型与结构体变量概念不同类型:不分配内存;变量:分配内存类型:不能赋值、存取、运算;变量:可以结构体可嵌套结构体成员名与程序中变量名可相同,不会混淆结构体的成员使用时,作用与地位同于普通变量例(结构体可嵌套)structdate{intmonth;intday;intyear;};structstudent{intnum;charname[20];datebirthday;}stu;例(结构体可嵌套)struct

7、student{intnum;charname[20];structdate{intmonth;intday;intyear;}birthday;}stu;102.结构体变量的初始化方法(1)声明(构造)类型与定义变量分开,在定义变量时进行初始化:例structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};studentstudent1={10001,"张新旺",'M',19,90.5,"上海市国定路"},student2={

8、10002,"李高新",'W',20,78.5,"上海市中山路"};11(2)在定义结构体变量时指定初始值。如例structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];}student1={10001,"张新旺",'M',19,90.5,"上海市国定路"}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
相关文章
更多
相关标签