第9章+结构体、共用体与枚举ppt课件.ppt

第9章+结构体、共用体与枚举ppt课件.ppt

ID:58696756

大小:1.23 MB

页数:96页

时间:2020-10-04

第9章+结构体、共用体与枚举ppt课件.ppt_第1页
第9章+结构体、共用体与枚举ppt课件.ppt_第2页
第9章+结构体、共用体与枚举ppt课件.ppt_第3页
第9章+结构体、共用体与枚举ppt课件.ppt_第4页
第9章+结构体、共用体与枚举ppt课件.ppt_第5页
资源描述:

《第9章+结构体、共用体与枚举ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、9.1结构体9.2共用体9.3枚举类型9.4用户定义类型9.5程序举例第9章结构体、共用体与枚举9.1结构体数组是一组有序的同类型数据的集合,直接由类型标识符定义,如:inta[5]。而结构体一般是不同类型数据集合,例如一个学生的信息(字符数组)(字符)(长整型)(字符)(整型)(字符数组)住址民族学号性别年龄姓名注意:结构体要先定义类型(数据结构),然后才能用该类型定义实体(变量、数组、指针等)。9.1.1结构体类型的定义1.结构体类型的定义形式为:struct结构体类型名{成员项表列};struct结构体类型名{数据类型数据项1;数据类型数据

2、项2;…………数据类型数据项n;};例如:structstudent{charname[20];intage;charsex;longnum;charnation;charaddress[20];};2.结构体类型中成员项的类型也可以相同,例如:structdate{intmonth;intday;intyear;};3.结构体类型中成员项的类型若是结构体类型,就构成结构体类型嵌套。structperson1{charname[20];structdatebirthday;charsex;longnum;charnation;charaddres

3、s[20];longtel;};9.1.2结构体类型变量的定义结构体变量的定义有三种方法1.用已定义的结构体类型名定义变量,例如:structstudentstu1,stu2;定义了两个结构体变量stu1和stu2,用上面的结构体类型还可再定义变量:structstudentmen,women;2.在定义结构体类型的同时定义结构体变量。例如:structstudent {charname[20]; intage; …… charaddress[20]; }stu1,stu2;一般的形式为:struct类型名{成员项表列;}变量名表列;这样定义的结

4、构体类型也可多次使用,如:structstudentmen,women;3.不定义结构体类型名,直接定义结构体变量。一般形式为:struct{成员项表列;}变量名表列;不定义结构体类型名直接定义结构体变量,该类型只能使用一次,无法再定义同类型的其他变量。可见:struct{成员项表列;}是表示结构体类型的核心。4.结构体变量存储单元的字节数系统为结构体变量开辟一段连续存储单元,其字节数可以用运算符sizeof测得:sizeof(变量名);或sizeof(类型名);例如:sizeof(stu1);或sizeof(structstudent);结果都

5、是50,存储情况为:20B1B4B1B4B20Baddressnationnumsexagename对嵌套结构体类型,例如:sizeof(structperson1);结果是58,其存储情况为:可见,数据都是存放在其基本成员之中。9.1.3结构体变量的引用1.引用结构体成员在无嵌套的情况下,引用结构体变量成员的形式为:结构体变量名·成员名其中的“.”叫“结构体成员运算符”,结构体成员相当于一个普通变量,例如:student.numstudent.name在有嵌套的情况下引用形式为:结构体变量名·结构体成员名·…·基本成员名例如:student.b

6、irthday.year注意:对结构体成员的访问与普通变量或数组相同。2.结构体变量的赋值、输入和输出对结构体变量赋常数值、输入和输出只能对基本成员进行。例如:student.num=1234;gets(student.name);printf(“%d”,student.birthday.year);3.同一类型的结构体变量之间可相互赋值(数组之间不能整体赋值)例如:stu1=stu2;9.1.4结构体变量的初始化在结构体变量定义的同时可以进行初始化赋值,例如:structpersonstud1={“LiLin",18,'M',34011,'h'

7、,"13BejingRoad",2098877},stud2={"YuPing",19,'F',34082,'h',"25HefeiRoad",5531678};注意初始化数据应与类型中的各个成员在位置上一一对应。对于嵌套结构体类型变量,初始化是对各个基本类型的成员赋初值,例如:structpersonstudent={"LiLin",12,5,1974,'M',340201,'h',"13BejingRoad",2098877};/*嵌套成员*/【例9-1】输出结构体数据#includemain(){structstudent

8、{charname[20];struct{intmonth;intday;intyear;}bd;charsex;longnum;cha

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。