欢迎来到天天文库
浏览记录
ID:24733715
大小:204.50 KB
页数:45页
时间:2018-11-14
《c++9 自定义数据类型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第九章自定义数据类型§1结构体的概念§2结构体数组§3结构体指针§5共用体数据类型本章内容§4链表§6枚举数据类型§7用typedef声明类型§1结构体的概念结构体类型是一种构造的数据类型,是数目固定,类型不同的若干有序数据项的集合。每一个数据项称为一个成员,每一个成员可以是一个基本数据类型或一个构造类型。C++中并不提供现成的结构体类型,在使用前必须先自己定义一、结构体类型的定义struct结构体类型名{类型标识符成员名1;类型标识符成员名2;……类型标识符成员名n;};一、结构体类型的定义structstudent{intnum;charnam
2、e[10];charsex;intage;charaddr[50];intscore;};structdate{intyear;intmonth;intday;};二、结构体变量的定义、引用、初始化结构体变量的定义先定义结构体类型,再定义结构体变量struct结构体类型名{类型标识符成员名1;类型标识符成员名2;……类型标识符成员名n;};[struct]结构体类型名结构体变量名表列;(1)structstudent{intnum;charname[10];charsex;intage;charaddr[50];intscore;};[struct
3、]studentstu1,stu2;stu1stu2numnamesexageaddrscore(1)先定义结构体类型,再定义结构体变量结构体变量的定义定义结构体类型的同时定义结构体变量struct结构体类型名{类型标识符成员名1;类型标识符成员名2;……类型标识符成员名n;}结构体变量名表列;(2)structstudent{intnum;charname[10];charsex;intage;charaddr[50];intscore;}stu1,stu2;(2)定义结构体类型的同时定义结构体变量stu1stu2numnamesexageadd
4、rscore直接定义结构体变量struct{类型标识符成员名1;类型标识符成员名2;……类型标识符成员名n;}结构体变量名表列;(3)结构体变量的定义(3)直接定义结构体变量struct{intnum;charname[10];charsex;intage;charaddr[50];intscore;}stu1,stu2;stu1stu2numnamesexageaddrscore2.结构体变量的引用结构体变量是由若干个不同类型数据的成员组成的集合。对结构体变量的引用一般是通过结构体变量的成员来实现的,具有相同数据类型的结构体变量也可以相互赋值结构
5、体成员引用的一般形式:结构体变量.成员名结构体成员的使用方法与同类型的普通变量一样,可以对它们进行各种运算二、结构体变量的定义、引用、初始化structstudent{intnum;charname[10];charsex;intage;charaddr[50];intscore;}stu1,stu2;2.结构体变量的引用stu1.num=1422;strcpy(stu1.name,"LinHui");stu1.sex='M';stu1.age=18;strcpy(stu1.addr,"ShangHai");stu1.score=85;stu2=s
6、tu1;输入输出结构体成员值时,只能对各成员分别操作2.结构体变量的引用可以引用结构体变量成员的地址,也可以引用结构体变量的地址cout<<&stu1;cout<<&stu1.age;3.结构体变量的初始化structstudent{intnum;charname[10];charsex;intage;charaddr[50];intscore;};studentstu={1422,"LinHui",'M',18,"ShangHai",85};结构体变量初始化:各成员的值用一对大括号括起来,括号内各数据项的数据类型、顺序要和结构体类型说明中的成员类
7、型匹配,各值用逗号分开。如部分初始化,其余值为0或NULL三、结构体的嵌套定义结构体时,如其成员的类型也是结构体类型,则构成结构体的嵌套定义,并且它的嵌套定义可以是多重的。structdate{intyear;intmonth;intday;};structstudent{intnum;charname[20];charsex;intage;datebirthday;charaddr[30];};三、结构体的嵌套引用嵌套的结构体时应按照从左到右,从外到内的方式,用“.”一级一级地运算,直到找到最低一级的成员studentstudent1;stude
8、nt1.num=1001;strcpy(student1.name,"LiuXiaomei");student1.sex=
此文档下载收益归作者所有