欢迎来到天天文库
浏览记录
ID:40817006
大小:367.50 KB
页数:32页
时间:2019-08-08
《W07章-结构体联合体与枚举类型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、本章介绍的数据类型是由各种基本数据类型的数据组合而成的导出数据类型:结构体共用体枚举类型但结构体、共用体和枚举类型各有不同的特点。第7章结构体、共同体和枚举类型第7章结构体、共同体和枚举类型7.1结构体的定义与应用7.3共同体的定义与应用7.4枚举类型unsignedlong7.1结构体-7.1.1结构体类型的说明学号姓名性别年龄成绩籍贯lixin18MNanjing87.5charname[5]charintfloatcharaddr[7]要将这份档案组合成一个数据项,那么,无论用前面介绍的哪种类型的数据,包
2、括数组都不可能。因为档案中不是同一种数据类型。2095105但是,处理文档是计算机办公的特长。为此,c++设计了另一种导出类型的数据。它把各种类型的数据结合在一起,成为一种数据类型,这种类型称为结构体类型。如果有这样一份档案数据类型structstudent{unsignedlongnum;charname[5];charsex;intage;floatscore;charaddr[7];}s;定义结构体的指令标识符结构体的类型标识符与int,float等性质相同含6个成员的结构体家族全局量s被定义为结构体类型
3、的变量unsignedlong学号姓名性别年龄成绩籍贯lixin18MNanjing87.5charname[5]charintfloatcharaddr[7]2095105数据类型定义如下:7.1.1结构体类型的说明s系统怎样为变量s分配单元呢?请看structstudent{unsignedlongnum;charname[5];charsex;intage;floatscore;charaddr[7];}s;numnamesexagescoreaddr定义了结构体类型后,其变量也可这样定义voidmain
4、(){students;...}编译结果一样;加分号7.1.1结构体类型的说明voidmain(){structstudent{unsignedlongnum;charname[5];charsex;intage;floatscore;charaddr[7];}s;...}s也可以这样定义numnamesexagescoreaddr因为没有类型名,无法再定义其它变量7.1.1结构体类型的说明结构体是各种不同类型数据的组合,编程者可按实际需要进行这种组合。如:图书馆的书有若干特点:charbname[100];
5、charauthor[80];floatprice;intid;structbook{};book类型的成员变量注意:book是一种数据类型,而不是变量。书名(字符串)作者(字符串)定价(实数类型)编号(整型)7.1.1结构体类型的说明7.1.2结构体与数组间的区别数组——所有的元素都具有相同的数据类型。intarray[10];定义的是数组变量。数组元素用下标[]来访问。如:array[1]结构体——它用各种不同数据类型的成员变量来组成和描述一个对象或者一个概念。上例中定义的是表示“教材课本”的结构类型。bo
6、okCpp;该语句用book类型定义变量,Cpp是book类型的变量。成员变量用“.”来访问如:Cpp.author表示Cpp变量的作者成员voidmain(){students;cin>>s.name;cin>>s.addr;s.score=87.5;s.age=19;s.sex=‘M’;s.num=2095105;......}snumnamesexagescoreaddrstructstudent{unsignedlongnum;charname[6];charsex;intage;floatscore
7、;charaddr[8];};执行语句时,假如键入如下数据:lixinNanjing传递数据时,系统是这样寻址的:lixin7.1.3结构体成员的使用voidmain(){students;cin>>s.name;cin>>s.addr;s.score=87.5;s.age=19;s.sex=‘M’;s.num=2095105;......}snumnamesexagescoreaddrstructstudent{unsignedlongnum;charname[6];charsex;intage;floats
8、core;charaddr[8];};执行语句时,假如键入如下数据:lixinNanjing传递数据时,系统是这样寻址的:lixinNanjingvoidmain(){students;cin>>s.name;cin>>s.addr;s.score=87.5;s.age=19;s.sex=‘M’;s.num=2095105;......}snumnamesexagescoreaddrs
此文档下载收益归作者所有