结构体、共用体与枚举

结构体、共用体与枚举

ID:37428420

大小:1.13 MB

页数:90页

时间:2019-05-12

结构体、共用体与枚举_第1页
结构体、共用体与枚举_第2页
结构体、共用体与枚举_第3页
结构体、共用体与枚举_第4页
结构体、共用体与枚举_第5页
资源描述:

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

1、9结构体、共用体与枚举本章导读用户定义类型—结构体、共用体和枚举类型,包括它们的定义、变量的说明和应用。结构体类型:结构体数组和指针、结构体变量和指针作为函数参数、返回结构体类型数据的函数、动态内存分配、链表;类型定义符typedef;了解结构体、共用体和枚举类型数据的特点,熟练掌握结构体类型、变量、数组、指针变量的定义、初始化和成员的引用方法;掌握共用体和枚举类型、变量的定义和引用;掌握用户自定义类型的定义和使用。9.1 结构体【问题】什么是结构体类型?什么是结构体变量?结构体类型与数组类型有什么区别和联系?姓名年龄性别身份证号民族住址电话号码(字符数组)(整型)(

2、字符)(长整型)(字符)(字符数组)(长整型)9.1.1结构体类型的定义结构体类型的定义形式为:struct类型名{成员项表列};例如包含上图中全部类型数据的结构体类型的定义如下:structperson/*结构体类型名*/{charname[20];/*以下定义成员项的类型和名字*/intage;charsex;longnum;charnation;charaddress[20];longtel;};9.1.2结构体变量的说明结构体变量的说明有三种方法:1.用已定义的结构体类型名定义变量。例如:structpersonstudent,worker;/*定义了两个结构

3、体变量student和worker*/用上面的结构体类型还可再定义变量:structpersonmen,women;2.在定义结构体类型的同时定义结构体变量。例如:structperson { charname[20];intage; …… longtel; }student,worker;一般的形式为:struct类型名 {成员项表列 }变量名表列;这样定义的结构体类型也还可多次使用,如:structpersonmen,women;9.1.2结构体变量的说明3.不定义结构体类型名,直接定义结构体变量。一般形式为:struct{成员项表列}变量名表列;9.1.2结构体

4、变量的说明9.1.3结构体变量的初始化在以上结构体变量的三种定义的同时都可以进行初始化赋值,例如:structpersonstud1={"WangLi",18,'M',34011,'h',12,"13BejingRoad",2098877},stud2={"YuPing",19,'F',34082,'h',12,"25HefeiRoad",5531678};注意初始化数据应与类型中的各个成员在位置上一一对应。对于嵌套的结构体类型变量,初始化是对各个基本类型的成员赋初值,例如:structpersonstudent={"WangLi",12,5,1974,'M',340

5、201,'h',12,"13BejingRoad",2098877};9.1.4结构体变量的引用1.引用结构体成员在无嵌套的情况下,引用结构体变量成员的形式为:结构体变量名·成员名其中的“.”叫“结构体成员运算符”,这样引用的结构体成员相当于一个普通变量,例如:student.num/*结构体变量student的成员num,相当于一个长整型变量*/student.name/*结构体变量student的成员name,相当于一个字符数组名*/在有嵌套的情况下,访问的应是结构体的基本成员,因为只有基本成员直接存放数据,且数据是基本类型或上面介绍的数组类型,引用形式为:结构体

6、变量名·结构体成员名·…·结构体成员名·基本成员名即从结构体变量开始,用成员运算符“.”逐级向下连接嵌套的成员直到基本成员,不能省略,例如:student.birthday.year/*基本成员year,相当于一个整型变量*/9.1.4结构体变量的引用2.结构体变量的赋值、输入和输出由于结构体各个成员的类型不同,对结构体变量赋值也只能对其成员进行结构体变量的输入和输出也都只能对其成员进行3.同一类型的结构体变量可相互赋值同类型的两个结构体变量之间可以整体赋值(请比较数组之间不能整体赋值)stud1=stud2;9.1.4结构体变量的引用【例9-1】输出结构体数据#in

7、cludemain(){structperson{charname[20];struct{intmonth;intday;intyear;}bd;charsex;longnum;}st={"WangLi",12,15,1974,'M',340201};printf("%s,%d,%d,%d,",st.name,st.bd.year,st.bd.month,st.bd.day);printf("%c,%ld",st.sex,st.num);}9.1.5结构体数组1.结构体数组的定义有三种方法。(1)先定义结构体类型,用结构体类型名

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

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

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