欢迎来到天天文库
浏览记录
ID:58696867
大小:1.54 MB
页数:156页
时间:2020-10-04
《第9章 用户自己建立数据类型ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章用户自己建立数据类型9.1定义和使用结构体变量9.2使用结构体数组9.3结构体指针9.4用指针处理链表9.5共用体类型9.6使用枚举类型9.7用typedef声明新类型名9.1定义和使用结构体变量9.1.1自己建立结构体类型9.1.2定义结构体类型变量9.1.3结构体变量的初始化和引用9.1.1自己建立结构体类型用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体例如,一个学生的学号、姓名、性别、年龄、成绩、家庭地址等项,是属于同一个学生的,因此组成一个组合数据,如student_1的变量,反映它们之间的内在联系structStudent{intnum;c
2、harname[20];charsex;intage;floatscore;charaddr[30];};由程序设计者指定了一个结构体类型structStudent它包括num,name,sex,age,score,addr等不同类型的成员结构体类型结构体是一种构造数据类型用途:把不同类型的数据组合成一个整体-------自定义数据类型结构体类型定义struct[结构体名]{类型标识符成员名;类型标识符成员名;…………….};成员类型可以是基本类型或构造类型struct是关键字,不能省略合法标识符可省:无名结构体声明一个结构体类型的一般形式为:struct结构体名{成员表
3、列};类型名成员名;说明:(1)结构体类型并非只有一种,而是可以设计出许多种结构体类型,例如structTeacherstructWorkerstructDate等结构体类型各自包含不同的成员(2)成员可以属于另一个结构体类型。structDate{intmonth;intday;intyear;};structStu{intnum;charname[20];charsex;intage;structDatebirthday;charaddr[30];};numnamesexagebirthdayaddrmonthdayyear9.1.2定义结构体类型变量前面只是建立了一
4、个结构体类型,它相当于一个模型,并没有定义变量,其中并无具体数据,系统对之也不分配存储单元。相当于设计好了图纸,但并未建成具体的房屋。为了能在程序中使用结构体类型的数据,应当定义结构体类型的变量,并在其中存放具体的数据。例structStudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};structStudentstu1,stu2;1、先定义结构体类型,再定义结构体变量一般形式:struct结构体名{类型标识符成员名;类型标识符成员名;…………….};struct结构体名变量名表列;例#d
5、efineSTUDENTstructStudentSTUDENT{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};STUDENTstu1,stu2;2、定义结构体类型的同时定义结构体变量一般形式:struct结构体名{类型标识符成员名;类型标识符成员名;…………….}变量名表列;例structStudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];}stu1,stu2;3、不指定类型名直接定义结构体变量(无名结构图类型)一
6、般形式:struct{类型标识符成员名;类型标识符成员名;…………….}变量名表列;例struct{intnum;charname[20];charsex;intage;floatscore;charaddr[30];}stu1,stu2;例structStudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};structStudentstu1,stu2;namenumsexagescoreaddr4字节4字节20字节1字节4字节30字节……..结构体类型定义描述结构的组织形式,不分配内存结构
7、体变量占的存储空间sizeof(Stu1)=64---4的倍数说明(1)结构体类型与结构体变量概念不同类型:不分配内存;变量:分配内存类型:不能赋值、存取、运算;变量:可以结构体可嵌套例structdate{intmonth;intday;intyear;};structstudent{intnum;charname[20];structdatebirthday;}stu;numnamebirthdaymonthdayyear例structstudent{intnum;charname[20];structdate{intmo
此文档下载收益归作者所有