精品课程第七章.ppt

精品课程第七章.ppt

ID:52475567

大小:90.00 KB

页数:41页

时间:2020-04-08

精品课程第七章.ppt_第1页
精品课程第七章.ppt_第2页
精品课程第七章.ppt_第3页
精品课程第七章.ppt_第4页
精品课程第七章.ppt_第5页
资源描述:

《精品课程第七章.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库

1、第7章结构体和共用体结构体共用体枚举类型类型定义7.1结构体现实生活中,每个事物都有若干个属性,且各自的类型不同。例如,学生成绩登记表,表中每个学生都有学号、姓名、总分和名次等属性。其中学号用长整型表示;姓名用字符串表示;总分用浮点数表示;名次用整数表示。对于这样的数据形式,可以用结构体类型来描述。7.1.1结构体定义、引用和初始化一、结构体类型定义的一般形式:struct结构体名{数据类型成员名1;数据类型成员名2;…数据类型成员名n;};其中:struct是关键字,作为定义结构体类型的标志;结构体名,由用户自行定义;花括号内是结构

2、体的成员说明表,用来说明该结构体有哪些成员及它们的数据类型。例如定义一个日期的结构体类型:structdate{intyear;intmonth;intday;};例如定义一个银行存款帐户的结构体类型:structaccount{longid;charname[20];structdateDate;floatmoney;};说明:结构体成员的类型可以是简单类型、数组类型或者是结构体类型等任何数据类型。结构体类型的定义只是描述结构体的组织形式,并没有分配一段内存单元来存放各数据项成员。只有定义了这种类型的变量,系统才为变量分配内存空间,

3、占据存储单元。结构体类型定义可以在函数的内部,其作用域仅限于该函数内部;也可以定义在函数的外部,其作用域是从定义处开始到本文件结束。在定义结构体类型时,数据类型相同的成员可以在一行中说明,成员间用逗号分开。二、结构体类型变量的定义:某个结构体一经定义,就可以指明该种结构体的具体对象,即定义该种类型的变量。定义结构体类型的变量的三种方法:先定义结构体类型,再定义该种类型的变量。在定义结构体类型的同时定义结构体变量。直接定义结构体类型变量。1、先定义结构体类型,再定义该种类型的变量:一般形式为:struct结构体名结构体变量名表;如:st

4、ructdate{intyear;intmonth;intday;};structdateDate1;structdateDate2;2、在定义结构体类型的同时定义结构体变量。一般形式为:struct结构体名{数据类型成员名1;数据类型成员名2;…数据类型成员名n;}结构体变量名表;如:structdate{intyear;intmonth;intday;}Date1,Date2;3、直接定义结构体类型变量。一般形式为:struct{数据类型成员名1;数据类型成员名2;…数据类型成员名n;}结构体变量名表;如:struct{intye

5、ar;intmonth;intday;}Date1,Date2;注意:这种形式由于省略了结构体名,因此以后不能用它再来定义其它变量。说明:结构体变量的定义在函数的数据说明部分进行,也可以在函数的外部定义。但都必须是类型定义在前,变量定义在后。结构体变量一经定义,在程序运行时,系统将按照结构体类型定义时的内存模式为结构体变量分配一定的存储单元。一个结构体变量在内存中占用存储空间的实际字节数,就是结构体类型定义时各个成员项所占字节数的总和,可以利用sizeof运算符求出一个结构体类型数据的长度。三、结构体变量的引用1、引用结构体变量的成员

6、项:一般情况下对结构体变量的使用,是用结构体的各个成员项来参加各种运算和操作。引用结构体变量中的成员项的形式为:结构体变量名.成员项名例如:将日期2002年10月19日赋给structdate型变量Date1可表示成:Date1.year=2002;Date1.month=10;Date1.day=19;说明:“.”是一个运算符,表示对结构体变量的成员进行访问运算,它的优先级为最高级,结合方向是从左到右。结构体成员项是结构体中的一个数据,对其进行何种运算是由它的类型决定,允许参加运算的种类与同类型的简单变量的种类相同。如果一个结构体成

7、员本身又是一个结构体类型变量,则要通过两个“.”运算符来访问该结构成员的结构成员。【例1】下面给出一个应用结构体变量的例子。structdate{intyear;intmonth;intday;};structaccount{longid;charname[20];structdateDate;floatmoney;};#include“stdio.h”main(){structaccountzhang,wang;zhang.id=1234567;strcpy(zhang.name,“WangHong”);zhang.Date.yea

8、r=2002;zhang.Date.month=10;zhang.Date.day=19;zhang.money=21353.33;…………}2、一个结构体变量作为一个整体来引用。C语言允许两个相同类型的结构体变量之间相

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

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

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