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

  1. 1、本文档共85页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 用户自定义数据类型 本章内容 8.1 结构类型及其变量的定义 8.2 结构数组 8.3 结构和指针 8.4 联合类型 8.5 枚举类型 8.1.1结构类型的定义 一. 结构类型的概念 前面的我们学习了一些简单数据类型(整型、实型、字符型)的定义和应用,还学习了数组(一维、二维)的定义和应用,这些数据类型的特点是:当定义某一特定数据类型,就限定该类型变量的存储特性和取值范围。 在日常生活中,我们常会遇到一些需要填写的登记表,如成绩表、通讯地址、员工信息等。其数据类型可能由性质不同的成员组成。 结构类型的概念 我们可以创建如下的结构类型: struct staff 其中staff由用户命名 { char number[8]; char name[10]; char sex; int age; char dep[20]; float wage[2]; }; 以上定义了一个结构类型struct staff(与int 同地位),它包含了number、name、sex、age、dep、wage等不同类型的数据项。 1.结构体类型说明的一般形式 struct [标识符] {   结构成员列表; }; 说明: (1) struct是关键字,声明要定义一个结构类型,结构类型名用标示符命名,要“见名知义”; (2)成员列表给出n个成员声明,成员可以基本类型变量、数组,也可以是另一结构类型变量等,对每个成员必须作类型说明,成员之间用分号分隔; 2.结构类型的几点说明 (1)对于结构类型,系统不会为之分配内存。只有在定义了结构变量后,系统才会分配内存单元给变量。 (2)结构是由若干个数据项组成,每个数据项都属于一种已有定义的类型。每一个结构成员都不是独立的,它不是一般的变量,而是跟结构联系在一起。 (3)结构类型可以嵌套定义。所谓嵌套定义是指在一个结构类型中可以包含另一个或一些结构类型,通常用于结构类型的成员是一个结构变量的场合。 结构类型的几点说明 struct Student { char name[9]; struct Birthday { int year; int month; int day; } birthday; char sex; }; (4)允许省略结构类型名,即允许定义无类型名的结构类型。 1.结构类型数据对象包括一般变量、指针、数组等,对于成为结构变量、结构指针、结构数组等可以在说明语句中用已定义的结构类型定义结构数据对象,也可以在定义结构类型的同时定义结构数据对象。 2.结构类型变量的三种定义方式 (1) 在说明结构类型的同时, 也定义了结构类型变量 例如: struct book {   int num; char name[60]; float price; } book1, books[3]; 在说明结构类型名struct book的同时,定义了结构类型变量book1与结构类型数组books, 数组books有三个元素:books[0]、books[1]、books[2]。 (2) 先说明结构类型, 再单独进行变量定义 例如: struct staff { char name[10]; char sex; float wage[2]; }; ... struct staff worker1, worker2; (3) 省略结构标识符, 直接定义变量 例如: struct /* 此处没有标识符*/ { int month; char day; unsigned year; } d[5]; 没有标识符一定要在定义结构类型的同时定义变量。 定义了结构类型: struce Student 后定义不同变量的区别: struce Student s1, s2[100], *s3=s1, *s4=s2; 从上面可以看出: (1) s1是该类型的变量, s2是该类型的一维数组, s3, s4 是

文档评论(0)

bodkd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档