文档详情

第5章_自定义数据类型.pptx

发布:2024-09-15约8.46千字共32页下载文档
文本预览下载声明

1/37第5章自定义数据类型

2/33本章要点5.1结构体类型5.2共用体类型5.3枚举类型5.4自定义类型

3/335.1结构体类型——概念有时需要将不同类型的数据组合成一个有机的整体,以供用户方便地使用。例如,一个学生的学号、姓名、性别、年龄、成绩、家庭地址等项,都是这个学生的属性。结构体:一种构造的数据类型。结构体由若干不同类型的数据项组成,构成结构体的各个数据项称为结构体成员。

4/335.1结构体类型——声明及定义结构体类型的声明struct结构体类型名{数据成员说明列表};定义结构体类型变量3种方法(1)先定义类型再定义变量名struct结构体类型名{数据成员说明列表;};[struct]结构体类型名变量名;定义结构体类型的关键字一个有效的标识符;作用:如同任何一个基本类型名,利用它可定义具有该结构类型的变量或函数即:类型名成员名;

5/335.1结构体类型——变量的定义student1,student2为结构体类型Student的变量,即它们具有Student类型的结构,如图。定义了结构体变量后,系统则分配内存单元。例:student1和student2在内存中各占63个字节。例如:structStudent{ints_no; charname[20];charsex;intage; floatscore;charaddr[30];};Studentstudent1,student2;成员名分配单元数S_no4name20sex1age4score4addr30

6/335.1结构体类型——变量的定义例如: //声明结构体类型StudentstructStudent{ints_no;charname[20];charsex;intage;floatscore;charaddr[30];}student1,student2;(2)声明类型时定义变量定义的一般形式为:struct结构体名{成员表列}变量名表列;例中定义两个结构体类型变量:student1,student2

7/335.1结构体类型——变量的定义(3)直接定义结构体类型变量其一般形式为struct//无结构体类型名{成员表列}变量名表列;此方法虽然合法,但很少使用。说明:(1)类型与变量是不同的概念,不要混淆。一般先定义一个结构体类型,再定义该类型的变量编译时,类型不分配空间,变量分配空间(2)结构体变量的存储空间理论上,是结构体变量各成员所占内存空间的总和。(3)成员也可以是一个结构体变量,即结构体嵌套定义。如图。年月日

8/335.1结构体类型——嵌套定义举例例如:structdate{ intmonth;intday;intyear;};structstudent{ ints_no;charname[20];charsex;/*date是结构体类型,birthday是date类型的成员*/datebirthday;charaddr[40];}stu1,stu2;

9/335.1结构体类型——结构体变量的引用与初始化引用的方式(2种)1.用结构体变量名引用其成员(使用“?”运算符)由结构体变量名引用其成员的表示形式为:结构体变量名.成员名例如:student1.s_no=10001;/*表示给结构体变量student1中的成员s_no赋初值*/student1.birthday.month=11;/*引用结构体变量student1中的birthday成员中的month成员并赋初值*/成员运算符,且运算级别最高

10/335.1结构体类型——结构体变量的引用与初始化2.通过指针访问结构变量(使用成员访问运算符“-”)表示形式:指针变量名-成员名3.可引用结构体变量成员的地址,也可引用结构体变量的地址。表示形式:(*指针变量)·成员名注意:不能省略一对圆括号。此方法很少用

11/335.1结构体类型——结构体变量的引用与初始化例5.1#includeiostreamusingnamespacestd;structstudent{ intnum; charname[10];charsex;floatscore;};in

显示全部
相似文档