欢迎来到天天文库
浏览记录
ID:57056793
大小:77.00 KB
页数:24页
时间:2020-07-30
《C大学基础教程第7章课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C++大学基础教程第7章其它自定义数据类型北京科技大学2021/10/231北京科技大学C++语言不仅有丰富的基本数据类型,而且允许用户自己定义数据类型。2021/10/232北京科技大学7.1枚举型数据类型(不要求)7.2结构型数据类型7.3联合型数据类型(不要求)第7章C++其他自定义数据类型2021/10/233北京科技大学7.2结构类型结构变量的定义结构成员的访问结构指针结构数组2021/10/234北京科技大学结构型数据类型(简称结构类型)把现实生活中意义密切相关的一组数据组合成一个整体,即由各种数据类型(可以是基本数据类型或已声明的自定义数据
2、类型)的数据组成一个集合,称为结构类型。7.2结构类型2021/10/235北京科技大学结构的声明形式如下:struct结构类型名{数据类型说明符1成员名1;数据类型说明符2成员名2;┇数据类型说明符n成员名n;};7.2结构类型2021/10/236北京科技大学例如:structstudent{longnum;//学号charname[20];//姓名intage;//年龄floatscore;//成绩};7.2结构类型2021/10/237北京科技大学定义student类型的变量:students1;结构类型的变量所占的存储空间是结构中所有成员所占空间的总
3、和圆点操作符访问形式:结构变量名.成员名例如:cout<usingnamespacestd;structstudent{longnum;charn
4、ame[20];charsex;intage;}stu={20041118,"LiLi",'F',18};voidmain(){cout<usingnamespacestd;structdate{intyear;intmonth;intday;};structweather{datetoday;doubletemp;doublewind;}
5、;2021/10/2311北京科技大学例7.3访问带有结构体类型的结构体成员voidmain(){weathertoday_weather={2004,11,30,10.0,3.1};cout<6、同一结构类型的各个变量之间可以相互赋值,这一点和数组不同,C++规定,不能直接进行数组名的赋值,因为数组名是一个常量,而结构类型的变量可以赋值。students1,s2;s1=s2;不同结构的变量不允许相互赋值,即使这两个变量可能具有同样的成员。structgraduatestudent{…..};graduatestudentgstu;gstu=stu;//错误7.2结构类型2021/10/2313北京科技大学定义变量时,我们可以定义指向int型的指针变量,类似的,可以有指向新定义的结构型数据类型的指针变量。可以将结构变量的地址赋给结构指针,使结构指针的指向7、确定。使用取地址“&”操作,得到结构变量的地址,这个地址就是结构的第一个成员的地址。structstudent{longnum;charname[20];charsex;intage;}stu={20041118,"LiLi",'F',18};Student*ps=&stu;结构类型与指针2021/10/2314北京科技大学结构类型与指针使用new操作在堆中给结构指针分配空间student*ps=newstudent;用结构指针访问结构成员时,用箭头操作符代替原来的点操作符cout<score;cout<<(*ps).score;2021/10/238、15北京科技大学例7.4结构指针的定义
6、同一结构类型的各个变量之间可以相互赋值,这一点和数组不同,C++规定,不能直接进行数组名的赋值,因为数组名是一个常量,而结构类型的变量可以赋值。students1,s2;s1=s2;不同结构的变量不允许相互赋值,即使这两个变量可能具有同样的成员。structgraduatestudent{…..};graduatestudentgstu;gstu=stu;//错误7.2结构类型2021/10/2313北京科技大学定义变量时,我们可以定义指向int型的指针变量,类似的,可以有指向新定义的结构型数据类型的指针变量。可以将结构变量的地址赋给结构指针,使结构指针的指向
7、确定。使用取地址“&”操作,得到结构变量的地址,这个地址就是结构的第一个成员的地址。structstudent{longnum;charname[20];charsex;intage;}stu={20041118,"LiLi",'F',18};Student*ps=&stu;结构类型与指针2021/10/2314北京科技大学结构类型与指针使用new操作在堆中给结构指针分配空间student*ps=newstudent;用结构指针访问结构成员时,用箭头操作符代替原来的点操作符cout<score;cout<<(*ps).score;2021/10/23
8、15北京科技大学例7.4结构指针的定义
此文档下载收益归作者所有