第七章结构、联合、位运算和枚举.ppt

第七章结构、联合、位运算和枚举.ppt

ID:48796192

大小:417.50 KB

页数:86页

时间:2020-01-25

第七章结构、联合、位运算和枚举.ppt_第1页
第七章结构、联合、位运算和枚举.ppt_第2页
第七章结构、联合、位运算和枚举.ppt_第3页
第七章结构、联合、位运算和枚举.ppt_第4页
第七章结构、联合、位运算和枚举.ppt_第5页
资源描述:

《第七章结构、联合、位运算和枚举.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第七章结构、联合、位运算和枚举本章目标1.理解结构体,联合体和枚举的数据类型2.学会定义结构体、联合体的数据类型的变量3.学会定义和使用枚举常量4.能够正确使用结构体、联合体的成员5.用结构指针作为函数的参数已了解的数据类型:整型浮点型字符型§10.1引言数组简单数据类型用户定义的数据类型特点:所有的元素都是同一种类型存在的问题:难以处理较复杂的数据如:建立一份学生档案,对每一个学生至少需要以下一些信息。学号(unsignedno)姓名(charname[20])性别(charsex)年龄(intage)成绩(floatscore)地址(charaddr[30])

2、C程序可将上述数据的集合定义为一种结构体类型:structstudent{unsignednum;charname[20];charsex;intage;floatscore;charaddr[30];};一、结构体定义的一般形式:§10.2结构的定义struct结构体名{ 成员表列 };成员表列的写法:类型标识符成员名注意:1.这只是定义一种类型的方法,尚未定义变量。2.struct–––关键词(保留字),表示定义一种结构体类型。如:structexp{inttimes;charflag;floatmeter;};结构体名成员表列1.先定义结构体类型再定义结构体变

3、量有三种方法可用来定义结构体变量:例:structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};二、结构变量的定义structstudentx1,x2;则x1,x2为student结构型变量,x1,x2可存放student类型数据。类型标识符结构体变量定义:例:structstudent{intnum;charname[20];charsex;intage;charaddr[30];}x1,x2;{ 成员表列 }变量名表列;2.在定义结构体类型的同时定义变量:定义形式str

4、uct结构体名定义形式struct{成员表列}变量名表列;不出现结构体类型名3.直接定义结构类型变量如:struct{intnumcharname[20];charsex;intage;charaddr[30];}x1,x2;1.类型名与变量名是不同的概念2.允许成员名又为另一个已定义的结构型变量3.每一个成员的作用如同该类型的变量4.成员名与程序中的变量名可相同但意义不同几点说明:structdate{intmonth;intday;intyear;};structstudent{intnum;charname[20];charsex;intage;structd

5、atebirthday;charaddr[30];}x1,x2;例:结构体的嵌套定义x1或x2numnamesexagebirthdaymonthdayyearaddr结构的初始化就是指结构变量的初始化。§10.3结构的初始化structstudentx1={8906,"LiMing",'M',85.5};一、先定义结构,在定义结构变量时对每个成员赋初值如:structstudent{unsignedNo;charname[20];charsex;floatscore;};若x1的起始地址为2000,则x1在内存中占有的存储单元为:共用27个字节的连续单元8906N

6、o2000200220212022name[20]LiMingM85.52023sexscore2026三、结构定义与变量定义及初始化合二为一:structexp{inta;floatb;charyn[8];}x={1234,56.7,"test"};但不能这样写:structexp{inta=1234;floatb=56.7;charyn[8]="test";}x;§10.4访问结构成员如:x1为structstudent型变量,则x1.No:表示x1的学号x1.name:表示x1的名字访问结构变量实质上是引用其成员一、圆点运算符有两种运算符可访问结构成员注

7、意:1.只能用变量的成员,不可用结构变量名直接运算。2.每一个成员的作用与其同类型的简单变量的引用相同。二、箭头运算符:例:structstudent{charname[10];charsex;intage;floatscore;charaddr[20];}x1;structstudentp;则p为结构指针变量,它可用来存放student型变量的地址令p=&x1;则p为x1的首地址.namesexaddrpx1agescore访问结构成员:pname表示x1的姓名;page表示x1的年令;pname等价于(*p).namepage等价于(*p).a

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

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

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