第11章结构体与共用体课件.ppt

第11章结构体与共用体课件.ppt

ID:58713984

大小:366.50 KB

页数:63页

时间:2020-10-04

第11章结构体与共用体课件.ppt_第1页
第11章结构体与共用体课件.ppt_第2页
第11章结构体与共用体课件.ppt_第3页
第11章结构体与共用体课件.ppt_第4页
第11章结构体与共用体课件.ppt_第5页
资源描述:

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

1、第11章结构体、共用体 及枚举类型1C语言的数据类型基本类型整型、实型(单精度、双精度)、字符型、枚举类型构造类型数组类型、结构体类型、共用体类型指针类型空类型211.1概述关于构造类型数据数组:由相同类型的数据(数组元素)构成。结构体:由不同类型的数据(成员变量)构成,各自占有独立的内存空间。共用体:由不同类型数据(成员变量)构成,共用一组内存空间。3结构体类型举例:职工人员记录。一名职工有一组相关的变量(属性)与之对应,比如姓名、性别、出生年月、身份证号、地址、工资等。411.2结构体变量的定义定义结构体变量的方法有下面三种:先定义一个结构体类型,再定义相应的变量。定

2、义结构体类型的同时,定义该结构体类型的变量。不定义结构体类型,直接定义结构体变量。5(1)先定义一个结构体类型, 再定义相应的变量一般形式:struct结构体类型名{成员列表};struct结构体类型名变量名表;举例:structpoint{intx;inty;};structpointp1,p2;6(2)定义结构体类型的同时, 定义该结构体类型的变量一般形式:struct结构体类型名{成员列表}变量名表;举例:structpoint{intx;inty;}p1,p2;7(3)不定义结构体类型, 直接定义结构体变量一般形式:struct{成员列表}变量名表;举例:stru

3、ct{intx;inty;}p1,p2;811.3结构体变量的引用C语言中,任何变量的使用都必须“先定义、后引用”。结构体类型是具有复合结构的构造类型,其变量引用方式可有两种:引用结构体变量中的成员整体引用结构体91、引用结构体变量中的成员一般形式:结构体变量名.成员名说明:“.”是结构体成员操作符,优先级较高。该运算符的结果为对应的成员变量。10举例:structstudent{intnum;charname[20];charsex;floatscore;}stu1;引用示例:stu1.scorestu1.namestu1.num++;&stu1.sexscanf(“%

4、s”,stu1.name);112、整体引用结构体结构体的整体引用仅限于:对结构体变量整体赋值作为函数参数传递取地址注意:决不能对结构体变量进行整体加、减、比较等运算!12对于结构体变量的引用,还应该注意以下几点:不能将一个结构体变量作为一个整体来输入和输出。相同类型的结构体变量之间可以赋值,也可以对它们进行初始化,但不能对变量赋以常量。结构体中的每一个成员变量都可以看成一个简单变量。如果结构体类型中的某个成员又是结构体类型,那么引用成员中的成员,应该按照一级一级的方式找到最低的一级成员。13不要认为结构体成员长度之和就是结构体的长度。一般:结构体的长度>=结构体成员长度

5、之和例如,设char占1个字节,int占4个字节,则:struct{charc;inti;}s;有:sizeof(s)=5,而在某些系统中,可能则有sizeof(s)=8。1411.4结构体变量的初始化对结构体变量进行初始化的形式:结构体类型名结构体变量名=结构体初始值;说明:结构体初值是用一对花括号括起来的数据序列,序列中的数据与结构体类型中的成员变量一一对应。15例如:structstructtype{inta,b;floatf1;}str1={1,2,3.4};main(){structstructtypestr2={3,4,9.6};staticstructstr

6、ucttypestr3={7,2,10.2};printf("str1:%d,%d,%f",str1.a,str1.b,str1.f1);printf("str2:%d,%d,%f",str2.a,str2.b,str2.f1);}16初始化时还要注意:被初始化的变量必须是刚定义的变量。对变量的初始化不等同对变量的赋值。结构体的初始化可以只进行一部分。如果结构体类型中又包含有结构体类型的成员,可依次在结构体初始值中列出其初始值,也可用花括号将表示成员结构体的部分括起来。1711.5结构体数组例如处理学生信息系统:学生信息(学号、姓名、性别、成绩、…)结构体数组的引

7、进:对数据的横向划分:引进结构体对数据的纵向划分:引进数组结构体数据由两种构造类型数据(数组、结构体)组成。181、结构体数组的定义形式:【方式一】struct类型名{成员表};struct类型名数组名[常量表达式];【例】structstudent{intnum;charname[20];charsex;intage;floatscore[4];};……structstudentstudents[10];19【方式二】struct{成员表}数组名[常量表达式];【例】structstudent{intnum;charname

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

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

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