欢迎来到天天文库
浏览记录
ID:50350169
大小:312.50 KB
页数:20页
时间:2020-03-08
《C++程序设计 丁亚涛 第7章 结构体、共用体、枚举.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、7结构体、共用体与枚举结构体共用体枚举结构体与指针结构体与函数本章导读7.1.1结构体和结构变量的定义结构体是一种类型,结构体变量是具有结构体类型的变量。在使用中,必须先定义结构体类型,再定义具有这种类型的结构体变量。结构体类型的定义格式如下:struct<结构体名>{<若干成员说明>};其中,struct是定义结构类型的关键字,<结构体名>用来表示结构体类型。结构体类型中的成员说明包含成员的类型和名字。7.1结构体(struct)structtable{charname[20];doubleprice;};
2、定义结构体变量1.单独定义。先定义结构体类型,再单独定义结构体变量。定义结构体变量格式:struct<结构体类型名><变量名表>;2.同时定义,即在定义结构体类型的同时定义结构体变量structEmployee{charname[20];charsex;floatsalary;charphone[11];};structEmployeegy1,gy2;structEmployee{charname[20];charsex;floatsalary;charphone[11];}gy1,gy2;1.变量说明中赋初
3、值,称为初始化。其格式如下:struct<结构体名><结构体变量名>=<初始值表>;例如,前面定义的结构Employee,在定义Employee结构体变量时可以进行初始化:structEmployeegy3={“zhang”,“male”,2107.5,3158978};2.用赋值语句或输入语句为结构体成员赋值,例如:gy3.salary=2100.05;cin>>gy3.salary;cin>>gy3.phone;7.1.2结构体成员的表示和结构体变量的赋值#includestruc
4、ttable{charname[20];doubleprice;};voidmain(){structtablet2={"Desk002",140.5};structtablet1;t1.name[0]='D';t1.name[1]='1';t1.name[2]=' ';t1.price=150.0;cout<5、用体中的数据成员在内存中的存储是互相重叠的,每个数据成员都在相同的内存地址开始。分配给共用体的存储区数量是“要包含它最大的数据成员”所需的内存数。同一时刻只有一个成员可以被赋给一个值。共用体类型的定义格式如下:union<共用体名>{<共用体成员说明>};其中,union是定义共用体类型的关键字,<共用体名>同标识符。例如:uniondata{inti;doubled;charc;};该共用体名为data,可以用data变量来存储int、double或者char,条件是在不同的时间进行。7.2共用体(unio6、n)#includeuniondata{inti;charc;doubled;}d1;voidmain(){d1.d=10.5;cout<7、<{<枚举量表>};其中,enum是定义枚举类型的关键字,<枚举类型名>用标识符表示,<枚举量表>是由若干个枚举常量组成的,每个枚举常量是一个用标识符表示的整型常量。例如:enumcolor{red,orange,yellow,green,blue,violet,indigo};enumcolor1{red=9,orange=1,yellow,green,blue,violet,indigo}8、;语句执行之后,color1中的red和orange都被显式地赋值了,red的值为9,orange的值为1,yellow的值是它的前一个值加1,即2,green,blue,violet和indigo的值分别为3,4,5,6.7.3枚举(enum)#includeenumcolor{red,orange,yellow,green,blue,violet,indigo};void
5、用体中的数据成员在内存中的存储是互相重叠的,每个数据成员都在相同的内存地址开始。分配给共用体的存储区数量是“要包含它最大的数据成员”所需的内存数。同一时刻只有一个成员可以被赋给一个值。共用体类型的定义格式如下:union<共用体名>{<共用体成员说明>};其中,union是定义共用体类型的关键字,<共用体名>同标识符。例如:uniondata{inti;doubled;charc;};该共用体名为data,可以用data变量来存储int、double或者char,条件是在不同的时间进行。7.2共用体(unio
6、n)#includeuniondata{inti;charc;doubled;}d1;voidmain(){d1.d=10.5;cout<7、<{<枚举量表>};其中,enum是定义枚举类型的关键字,<枚举类型名>用标识符表示,<枚举量表>是由若干个枚举常量组成的,每个枚举常量是一个用标识符表示的整型常量。例如:enumcolor{red,orange,yellow,green,blue,violet,indigo};enumcolor1{red=9,orange=1,yellow,green,blue,violet,indigo}8、;语句执行之后,color1中的red和orange都被显式地赋值了,red的值为9,orange的值为1,yellow的值是它的前一个值加1,即2,green,blue,violet和indigo的值分别为3,4,5,6.7.3枚举(enum)#includeenumcolor{red,orange,yellow,green,blue,violet,indigo};void
7、<{<枚举量表>};其中,enum是定义枚举类型的关键字,<枚举类型名>用标识符表示,<枚举量表>是由若干个枚举常量组成的,每个枚举常量是一个用标识符表示的整型常量。例如:enumcolor{red,orange,yellow,green,blue,violet,indigo};enumcolor1{red=9,orange=1,yellow,green,blue,violet,indigo}
8、;语句执行之后,color1中的red和orange都被显式地赋值了,red的值为9,orange的值为1,yellow的值是它的前一个值加1,即2,green,blue,violet和indigo的值分别为3,4,5,6.7.3枚举(enum)#includeenumcolor{red,orange,yellow,green,blue,violet,indigo};void
此文档下载收益归作者所有