第8章_结构体

第8章_结构体

ID:44962740

大小:397.00 KB

页数:51页

时间:2019-11-06

第8章_结构体_第1页
第8章_结构体_第2页
第8章_结构体_第3页
第8章_结构体_第4页
第8章_结构体_第5页
资源描述:

《第8章_结构体》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第八章结构体与联合体7/16/20211程序设计基础(C语言)wh8.1结构体8.1.1结构体类型的定义8.1.2结构体类型变量的定义与使用8.1.3结构体类型变量的赋值与初始化8.1.4结构体类型数组的定义与引用8.1.5结构类型指针的定义和引用8.1.6结构体类型数据的动态存储分配8.1.7链表及其基本操作8.2联合体8.3其他自定义数据类型8.3.1枚举类型8.3.2类型定义符typedef小结习题7/16/20212程序设计基础(C语言)wh8.1结构体8.2联合体8.3其它自定义数据类型7/16/20213程序设

2、计基础(C语言)wh8.1结构体在处理实际问题时,经常会遇到需要将若干不同类型的数据项组合在一起作为一个整体来进行处理。例如,在对学生信息进行处理时,一个学生的数据可能包括姓名、学号、年龄、性别、成绩等多个成员,各成员的数据类型不同,此时不能用一个数组来存放这类数据。在C语言中,允许用户定义构造数据类型——“结构”,或称为“结构体”。结构体相当于数据库中的记录,它是一种构造类型,是由若干“成员”组成的。7/16/20214程序设计基础(C语言)wh8.1.1结构体类型的定义struct结构体名{成员表;};结构体类型的一般

3、定义形式为:定义结构体类型的关键字用户命名的标识符结构体类型定义的结束符7/16/20215程序设计基础(C语言)wh例如:定义“学生纪录”的结构体structstudent{intnum;charname[10];charsex;intage;floatscore;};注意:结构体类型定义仅仅是定义了一个特定的复合数据类型,描述了这一类型数据的公共属性,为了在程序中使用该结构体类型的具体对象,还需要说明这种类型的变量。7/16/20216程序设计基础(C语言)wh8.1.2结构体类型变量的定义与使用定义结构体类型变量可以

4、有3种方法:1.先定义结构,再说明结构变量struct结构体名变量1,变量2,…,变量n;structstudentstu1,stu2,stu3;7/16/20217程序设计基础(C语言)wh2.在定义结构类型的同时说明结构变量struct结构体名{成员表}变量表;例如:structstudent{intnum;charname[10];charsex;intage;floatscore;}stu1,stu2,stu3;7/16/20218程序设计基础(C语言)wh3.直接说明结构变量struct{成员表}变量表;stru

5、ct{intnum;charname[10];charsex;intage;floatscore;}stu1,stu2,stu3;7/16/20219程序设计基础(C语言)whC语言规定结构体类型的定义可以嵌套,即结构体中成员也可以是一个结构体。例如:定义student结构体(1)先定义date结构体structdate{intyear;intmonth;intday;};(2)再定义student结构体structstudent{intnum;charname[10];charsex;structdatebirthday

6、;floatscore;};7/16/202110程序设计基础(C语言)wh8.1.3结构体类型变量的赋值与初始化在定义结构体变量的说明语句中,可以对定义的结构体变量赋初值,即初始化。由于结构体占用内存一片连续的存储单元,因此,结构变量的初始化与前面介绍的数组相似,只要把对应各成员的初值放在花括号中即可。7/16/202111程序设计基础(C语言)wh例结构体变量的初始化。#includevoidmain(){structstudent{intnum;charname[10];charsex;intage

7、;floatscore;}stu={1001,“wang”,‘M’,19,98};printf("Number=%dName=%s",stu.num,stu.name);printf("Sex=%cScore=%f",stu.sex,stu.score);}7/16/202112程序设计基础(C语言)wh8.1.4结构体类型数组的定义与引用1.结构体类型数组的定义定义结构体类型数组前要先定义一个结构体类型,然后就可以像定义普通数组一样定义结构体类型数组。与定义结构体变量类似,定义结构体类型数组也有3种方式。

8、7/16/202113程序设计基础(C语言)wh方式1:structstudent{intnum;charname[10];charsex;intage;floatscore;}stu[10];方式2:structstudent{intnum;charname[10];charsex;intage;fl

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

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

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