C及C++程序设计 第3版 教学课件 张富 第11章 用户定义数据类型.ppt

C及C++程序设计 第3版 教学课件 张富 第11章 用户定义数据类型.ppt

  1. 1、本文档共110页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 用户定义数据类型 构造满足自己需要的其他数据类型。这是用户在程序中自己定义的一种数据类型,称为用户自定义数据类型。 在已定义的数据类型基础上,用户可以构造下列四种数据类型: 结构型(structure); 位域型(bit_field); 联合型(union); 枚举型(enumeration)。 这些数据类型必须用户自己先定义,然后才能用它们来定义相应数据类型的变量、数组、指针等。 除此以外,用户还可以用关键字typedef为已建立的数据类型定义新的类型名字。 11.1 结构型(Structure) 11.1.1 结构型的定义 结构是由一些基本数据类型和其他已定义的数据类型组成的。它有一个用户为它起的名字,称为结构名。 结构型中的各成分,在逻辑上,一般都有一定的内在联系。组成结构型的各成分,称作结构的元素、成员区域。 结构数据类型的定义,是通过结构定义语句完成的。其定义的关键字是struct。 定义结构的一般形式为: struct 结构型名 { 数据类型1 成员名1; 数据类型2 成员名2; … 数据类型n 成员名n; }; 其中结构型名是用户为结构型起的名字,可以是任何合法的标识符。数据类型1,数据类型2等可以是任何已经定义的基本数据类型,包括结构型。成员名1,成员名2等是用户为结构成员起的名字,可以是任何合法的标识符。 因为结构型是一种数据类型,其中成员也不是变量,系统不会为所定义的结构分配内存空间。 当结构成员的数据类型为结构类型时,称为结构的嵌套。 11.1.2 结构型变量的定义 有三种定义结构变量的方法。 第一种定义结构型变量的方法是:先定义结构类型,后定义结构型变量。 这种定义方法与一般数据类型变量的定义的方法一样。定义完结构类型之后,再定义结构型变量。 第二种定义结构型变量的方法是:在定义结构的同时定义结构型变量。 这种定义方法是将要定义为该结构类型的变量直接写在该结构定义的右花括号之后,最后再以分号结束语句。 第三种定义结构型变量的方法是:定义无名称结构型的同时定义该结构型变量。 以上前两种定义结构类型变量的方法是完全等效的。在使用了第二定义方法之后,仍然可以使用第一种方法继续定义该结构型的其他变量。第三种方法中因省略了结构型名,结构型定义后,将无法再使用第一种方法继续定义该结构型的变量。 结构型变量被定义后,系统将按结构类型定义中成员的说明顺序,为它们在内存分配存储空间。 例如,有下面的定义的结构型ex和结构型变量ex1: struct ex{ int a; float b char c; char d[5]; }ex1; 结构成员名可以与程序中的变量同名,也可以与结构类型名相同。结构型变量名可以与结构类型名相同,但不能与程序中的变量名相同。 11.1.3 结构型变量的初始化 结构型变量初始化的方法,与结构型变量定义采用的形式相对应。 对于第一种定义结构变量的方法,以结构comm为例,可以这样初始化: struct comm /* 定义结构型 */  { char name[30]; char addr[80]; char tele[10]; unsigned long int zip; }; … struct comm a={zhang Xu,Beijing100000}, b={Li Lin, nanjing503762}; 对于第二种定义结构变量的方法,仍以结构comm为例,可以这样初始化: struct comm { char name[30]; char addr[80]; char tele[10];

您可能关注的文档

文档评论(0)

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

1亿VIP精品文档

相关文档