资源描述:
《c++课件第七章自定义数据类型》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第七章自定义数据类型7.1结构体类型7.1.1结构体的概述一个学生的学号、姓名、性别、年龄、成绩、家庭住址numnamesexagescoreaddr10010LiFunM1887.5BeiJing声明一个新的结构体的类型:structStudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};7.1.2结构体类型变量的定义方法及其初始化1.定义结构体变量的方法(1)先声明结构体的类型再定义变量名Studentstudent1,studen
2、t2;(2)声明类型的同时定义变量structStudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];}std1,std2;(3)直接定义结构体类型变量struct{intnum;charname[20];charsex;intage;floatscore;charaddr[30];}std1,std2;(4)成员也可以是一个结构体变量structDate{intmonth;intday;intyear;};structStudent{in
3、tnum;charname[20];charsex;intage;12Datebirthday;floatscore;charaddr[30];};1.结构体变量的初始化structStudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];}stdent={10001,"ZhangXin",'M',19,90.5,"shanghai"};Studentstudent2={10002,"WangLi",'F',20,98,"Beijing"};
4、7.1.3结构体变量的引用(1)可以将一个结构体变量的值赋给另一个具有相同结构的结构体变量。student1=student2;(2)可以引用一个结构体变量中的一个成员的值。student1.num=10010;"."是成员运算符,它的优先级最高。(3)对于结构体嵌套,要逐级引用。student1.birthday.month=11;(4)不能将一个结构体变量作为一个整体进行输入和输出。(5)对于结构体变量的成员可以像普通变量一样进行各种运算。(6)可以引用结构体变量成员的地址,也可以引用结构体变量的地址。cout<
5、<&student1;cout<<&student1.age;例7.1引用结构体变量中的成员#includeusingnamespacestd;structDate{intmonth;intday;intyear;};structStudent{intnum;charname[20];charsex;Datebirthday;floatscore;charaddr[30];}student1,student2={10002,"WangLi",'F',5,23,1982,89.5};voidmain
6、(){student1=student2;cout<7、体数组structStudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];}stu[3];Studentx[8];2.结构体数组的初始化Studenty[2]={{10101,"LiLin",'M',18,87.5,"103BeijingRoad"},{10102,"ZhangFun",'M'19,99,"130ShanghaiRoad"}};3.结构体数组应用举例例7.2对候选人得票统计程序.#includeusing
8、namespacestd;structPerson{charname[20];intcount;};voidmain(){Personleader[3]={"Li",0,"Zhang",0,"Fun",0};inti,j;charleader_name[20];for(i=0;i<10;i++){cin>>leader_name;for(j=0