C语言用户自定义数据类型

C语言用户自定义数据类型

ID:36525857

大小:414.60 KB

页数:85页

时间:2019-05-09

C语言用户自定义数据类型_第1页
C语言用户自定义数据类型_第2页
C语言用户自定义数据类型_第3页
C语言用户自定义数据类型_第4页
C语言用户自定义数据类型_第5页
资源描述:

《C语言用户自定义数据类型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章用户自定义数据类型1本章内容8.1结构类型及其变量的定义8.2结构数组8.3结构和指针8.4联合类型8.5枚举类型28.1.1结构类型的定义一.结构类型的概念前面的我们学习了一些简单数据类型(整型、实型、字符型)的定义和应用,还学习了数组(一维、二维)的定义和应用,这些数据类型的特点是:当定义某一特定数据类型,就限定该类型变量的存储特性和取值范围。在日常生活中,我们常会遇到一些需要填写的登记表,如成绩表、通讯地址、员工信息等。其数据类型可能由性质不同的成员组成。3结构类型的概念numbernameSexdepartmentagewage1wage290

2、08806LiFangFInformatio188507809008807LinHongFPersonnel169007609008808WuQiangMTechnical189507909008809LiJunMPersonnel178807609008810ZhangXiaFTechnical17870795上表中数据是由员工的工作证号(number)、姓名(name)、性别(sex)、年龄(age)、部门(department)、工资(wage)等数据项组成的,逻辑上相关的数据。在C语言中,将这种由多个不同类型的数据项组合在一起形成的数据类型,称为结构

3、体类型。4我们可以创建如下的结构类型:structstaff其中staff由用户命名{charnumber[8];charname[10];charsex;intage;chardep[20];floatwage[2];};以上定义了一个结构类型structstaff(与int同地位),它包含了number、name、sex、age、dep、wage等不同类型的数据项。结构类型的概念51.结构体类型说明的一般形式struct[标识符]{结构成员列表;};说明:(1)struct是关键字,声明要定义一个结构类型,结构类型名用标示符命名,要“见名知义”;(2)成

4、员列表给出n个成员声明,成员可以基本类型变量、数组,也可以是另一结构类型变量等,对每个成员必须作类型说明,成员之间用分号分隔;二.结构体类型及结构体变量6学生的基本信息,包括学号、姓名、性别、年龄、班级、成绩等数据项。这些数据项描述了一个学生的几个不同侧面。nonamesexageclassnograde独立的变量:数据项之间无关联nonamesexageclassnograde数据项为一个整体structstudent{charno[9];//学号charname[20];//姓名charsex;//性别unsignedintage;//年龄unsigne

5、dintclassno;//班级floatgrade;//成绩}72.结构类型的几点说明(1)对于结构类型,系统不会为之分配内存。只有在定义了结构变量后,系统才会分配内存单元给变量。(2)结构是由若干个数据项组成,每个数据项都属于一种已有定义的类型。每一个结构成员都不是独立的,它不是一般的变量,而是跟结构联系在一起。structStudent{intnumbercharname[9];intage;charsex;};intage;charsex;同名的age和sex均不会有命名冲突问题8(3)结构类型可以嵌套定义。所谓嵌套定义是指在一个结构类型中可以包含另

6、一个或一些结构类型,通常用于结构类型的成员是一个结构变量的场合。namebirthdaysexmonthdayyear结构类型的几点说明9结构类型的几点说明structStudent{charname[9];structBirthday{intyear;intmonth;intday;}birthday;charsex;};structStudent{intnumbercharname[9];intage;charsex;};10(4)允许省略结构类型名,即允许定义无类型名的结构类型。struct{intyear;intmonth;intday;}birth

7、day;无名的结构类型必须后随结构变量(如birthday)的定义,并且仅能一处使用,这种形式通常用于内嵌在结构类型中的结构类型。(5)可以用sizeof运算符来计算结构类型的长度(字节数)例如:printf(“%d”,sizeof(structStudent));结果为18结构类型的几点说明111.结构类型数据对象包括一般变量、指针、数组等,对于成为结构变量、结构指针、结构数组等可以在说明语句中用已定义的结构类型定义结构数据对象,也可以在定义结构类型的同时定义结构数据对象。8.1.2结构类型数据对象的定义及初始化structdate{intmonth;in

8、tday;intyear;;};structstaf

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

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

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