C++程序设计基础杨长兴 第6章 自定义数据类型

C++程序设计基础杨长兴 第6章 自定义数据类型

ID:40238256

大小:844.50 KB

页数:78页

时间:2019-07-28

C++程序设计基础杨长兴 第6章 自定义数据类型_第1页
C++程序设计基础杨长兴 第6章 自定义数据类型_第2页
C++程序设计基础杨长兴 第6章 自定义数据类型_第3页
C++程序设计基础杨长兴 第6章 自定义数据类型_第4页
C++程序设计基础杨长兴 第6章 自定义数据类型_第5页
资源描述:

《C++程序设计基础杨长兴 第6章 自定义数据类型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C++程序设计基础主编杨长兴中国水利水电出版社第6章自定义数据类型6.1结构体类型6.2共用体类型6.3枚举类型6.4自定义类型46.1结构体类型6.1.1结构体类型的定义6.1.2结构体变量的定义6.1.3结构体变量的引用和初始化6.1.4结构体数组6.1.5结构体与函数6.1.6链表struct结构体类型名{数据类型   成员名1;数据类型   成员名2;:数据类型   成员名n;};结构体类型名是用户定义的任何一个有效的标识符,它的作用就如同任何一个基本类型名,利用它能够定义具有该结构类型的变量或函数;6

2、.1.1结构体类型的定义结构体类型定义的形式:定义结构体类型的关键字,不能省略注意分号不要省略structstudent{charid[7];//长度为7的字符数组id,表示学号charname[10];//长度为10的字符数组name,表示学号floatscore;//单精度实数类型score,表示入学分数};//注意分号不要省略例:用结构体类型来描述学生的学籍信息(学号、姓名和入学分数)结构体类型的特点总结如下:(1)结构体类型是用户自行构造的。(2)它由若干不同的基本数据类型的数据构成。(3)它属于C++

3、语言的一种数据类型,与整型、实型相当。因此,定义它时不分配空间,只有用它定义变量时才分配空间。6.1.2结构体变量的定义一、先定义结构体类型再定义变量名这是C++语言中定义结构体类型变量最常见的方式,一般语法格式如下:struct结构体类型名{成员说明列表;};struct结构体类型名变量名;在C++中,一般可以省略structstudent{charid[7];charname[10];floatscore;};structstudentst1,st2;例:定义描述学生的学籍信息(学号、姓名和入学分数)的变量

4、在C++中,一般写成:studentst1,st2;二、在声明类型的同时定义变量struct结构体名{成员说明列表;}变量名表列;structstudent{charid[7];charname[20];floatscore;}st1,st2;三、直接定义结构体类型变量struct{成员说明列表;}变量名表列;注意:该方式没有结构体类型名,这种形式虽然简单,但不能在再次需要定义该类型的变量时,使用所定义的结构体类型。struct{charname[10];charid[7];floatscore;}st1,s

5、t2;(1)类型与变量是不同的概念,不要混淆。对结构体变量来说,在定义时一般先定义一个结构体类型,然后定义该类型的变量。在编译时,是不会为类型分配空间的,只为变量分配空间。关于结构体变量的几点说明:structstudent{charid[7];charname[10];floatscore;}st1;(2)结构体变量的存储空间理论上,是结构体变量各成员所占内存空间的总和。结构变量占实际内存大小可用sizeof运算:sizeof(运算量)structdate{intmonth;intday;intyear;};

6、structstudent{intnum;charname[20];charsex;datebirthday;charaddr[40];}stu1,stu2;date是结构体类型,birthday是date类型的成员(3)成员也可以是一个结构体变量,即结构体嵌套定义。6.1.3结构体变量的引用和初始化一、用结构体变量名引用其成员格式:结构体变量名.成员名structdate{intmonth;intday;intyear;};structstudent{intnum;charname[20];charsex;d

7、atebirthday;charaddr[40];}stu1,stu2;stu1.num=20312;stu1.num表示引用结构体变量stu1中的num成员注意:1.如果成员本身也是一个结构体类型,则要用若干个成员运算符,一级一级地找到最低一级的成员。stu1.birthday.month=5;structdate{intmonth;intday;intyear;};structstudent{intnum;charname[20];charsex;datebirthday;charaddr[40];}stu

8、1,stu2;2.对结构体变量的成员可以像普通变量一样进行各种运算stu2.num=stu1.num;stu1.birthday.day++;由于“.”运算符的优先级最高,因此stu1.birthday.day++;相当于(stu1.birthday.day)++;注意:structdate{intmonth;intday;intyear;};structstudent{intnum;

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

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

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