- 1、本文档共110页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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];
您可能关注的文档
- C及C++程序设计 第3版 教学课件 张富 第5章 循环结构程序设计.ppt
- C及C++程序设计 第3版 教学课件 张富 第6章 位运算.ppt
- C及C++程序设计 第3版 教学课件 张富 第7章 数组与字符串.ppt
- C及C++程序设计 第3版 教学课件 张富 第8章 指针.ppt
- C及C++程序设计 第3版 教学课件 张富 第9章 函数.ppt
- C及C++程序设计 第3版 教学课件 张富 第10章 数据的存储类型.ppt
- C及C++程序设计 第3版 教学课件 张富 第12章 C语言的预处理器.ppt
- C及C++程序设计 第3版 教学课件 张富 第13章 磁盘文件操作(IO系统).ppt
- C及C++程序设计 第3版 教学课件 张富 第14章 C++概述.ppt
- C及C++程序设计 第3版 教学课件 张富 第15章 类.ppt
- 国联证券-苏泊尔-002032-深度报告-公司基业长青,股东回报丰厚.pdf
- 国金证券-固定收益专题报告:哪些城投退出了债市?.pdf
- 国金证券-电力设备与新能源行业海风系列专题(一)-欧洲海风建设加速,国内企业扬帆起航.pdf
- 国海证券-老铺黄金-06181.HK-公司深度报告:古法经典,匠心独运.pdf
- 广发证券-中国平安-601318-内外环境整体改善核心指标全面提速.pdf
- 广发证券-四川白酒、调味品市场跟踪:淡季调整静待拐点.pdf
- 光大证券-可转债2025年投资策略:乐观者前行.pdf
- 光大证券-光大地产房地产类公募REITs月报(2024年9月):C-REITs短期成交遇冷不改长期投资价值.pdf
- 方正证券-博众精工-688097-公司深度报告-3C主业有望受益于苹果创新+自动化率提升,其他业务多元化布局打造新增长点.pdf
- 东吴证券-汽车周观点:第三周交强险同比+38.8%,继续看好汽车板块!.pdf
最近下载
- 《机械设计基础》课程设计方案.pdf
- 第三届全国新能源汽车关键技术技能大赛决赛-汽车电器维修工(新能源汽车电控系统技术方向)赛项竞赛平台主要设备技术标准(指导版).pdf
- 布病患者的护理课件.pptx VIP
- 2024阿里巴巴淘宝云客服-消费者咨询业务知识题库与答案.docx
- 青州古城景区介绍-青州古城景点PPT.pptx
- 产后骨盆修复培训课件.pptx VIP
- 监控维修工程施工方案.docx
- 江苏省南京市江宁区2023-2024学年四年级上学期期末科学试卷.docx VIP
- 第五章-绿色化学方法.ppt VIP
- 意识形态领域风险隐患排查、突出问题整治、阵地管理提升行动工作方案.docx VIP
文档评论(0)