复杂数据类型yhx高程

复杂数据类型yhx高程

ID:46218538

大小:216.00 KB

页数:33页

时间:2019-11-21

复杂数据类型yhx高程_第1页
复杂数据类型yhx高程_第2页
复杂数据类型yhx高程_第3页
复杂数据类型yhx高程_第4页
复杂数据类型yhx高程_第5页
资源描述:

《复杂数据类型yhx高程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章复杂数据类型7.1结构体7.2联合体7.3枚举类型7.4复杂数据类型应用综合举例7.1结构体在实际问题中,一组数据往往具有不同的数据类型。例如,在学生登记表中,姓名应为字符型;学号可为整型或字符型;年龄应为整型;性别应为字符型;成绩可为整型或实型。显然不能用一个数组来存放这一组数据。因为数组中各元素的类型和长度都必须一致,以便于编译系统处理。“结构体”是一种构造类型,它是由若干“成员”组成的。每一个成员可以是一个基本数据类型或者又是一个构造类型。7.1.1结构体类型的定义在学生登记表中,每个学生的记录都是由编号,姓名,性别和工资等数据项组成,这些数据项描述了

2、一个员工的几个方面的信息。如果分开用独立的变量表示,很难看出这些数据有什么联系,处理起来也不方便。C语言提供了结构体数据类型,将不同类型的数据组织成一个整体。7.1.1结构体类型的定义定义一个结构体的一般形式为:struct结构体名{成员列表;};struct是关键字,表示一个结构体类型,成员列表由若干个成员组成,每个成员都是该结构体的一个组成部分。对每个成员也必须作类型说明,其形式为:类型说明符成员名;成员名的命名应符合标识符的书写规定。应注意在括号后的分号是不可少的。7.1.2结构体变量的定义和引用定义一个结构体变量有以下三种方法:1.先定义结构体,再说明结构

3、体变量。如:structworker{intnum;charname[20];charsex;floatwage;};structworkerperson1,person2;7.1.2结构体变量的定义和引用关键字struct说明该变量是结构体类型,而worker指定变量为某一特定的结构体类型。说明了结构体变量后,系统就会为每个结构体变量分配一段连续的内存空间7.1.2结构体变量的定义和引用2.在定义结构体类型的同时说明结构体变量。例如:structworker{intnum;charname[20];charsex;floatwage;}person1,perso

4、n2;7.1.2结构体变量的定义和引用3.直接说明结构体变量。例如:struct{intnum;charname[20];charsex;floatwage;}person1,person2;7.1.2结构体变量的定义和引用在结构体类型中,成员也可以是一个结构体,即构成了嵌套的结构体。如:structdate{intmonth;intday;intyear;}struct{intnum;charname[20];charsex;structdatebirthday;floatwage;}person1,person2;7.1.2结构体变量的定义和引用引用结构体变量

5、的成员可以通过成员运算符“.”来表示。结构体变量名.成员名例如:person1.num即第一个人的学号person2.sex即第二个人的性别person1.birthday.month即第一个人出生的月份7.1.2结构体变量的定义和引用定义一个指向结构体变量person1的指针:structworker*p1;p1=&person1;要引用指针指向的结构体成员,可以这样来表示:指针变量名->结构体成员例如:用p1->num,p1->name,p1->sex等来引用结构体中的成员。7.1.3结构体变量的赋值结构体变量的赋值就是给各成员赋值,可直接通过赋值语句来完成,

6、如:person1.num=28536;strcpy(person1.name,“LiuXing");结构体变量的赋值也可以通过对成员的输入语句来实现,如:scanf("%c%f",&person1.sex,&person1.wage);7.1.4简化结构体类型名struct结构体类型名结构体变量名定义结构体变量时,不能只指定为“struct”而不指定结构体名,必须用“struct结构体类型名”两个符号一起来表示一个结构体类型。用宏定义简化结构体类型名的方法如下:#define宏名struct结构体类型名宏名{结构体成员列表;};宏名结构体变量名;7.1.4简化结

7、构体类型名还可以通过typedef命令来简化结构体类型名。typedef命令是定义新的类型名来代替已有的类型名。如:typedefintINTEGER;该语句指定用INTEGER表示int类型用typedef定义一个结构体类型的方法如下:typedefstruct{intnum;charname[20];charsex;floatwage;}WKER;WKERperson1,person2;7.1.5结构体数组一个结构体类型的变量也可以作为一个数组的元素,因此可以构成结构体型数组。structworker{intnum;char*name;charsex;floa

8、twage

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

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

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