- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
教材:C++ 程序设计 钱能 面向对象程序设计〖II〗 第十章 结构 §10.1 结构 §10.2 结构与指针 §10.3 结构与数组 §10.4 传递结构参数 §10.5 结构函数 §10.6 链表结构 §10.7 联合(Union) 小结 前面已介绍了整型、实型、字符型等基本数据结构。 介绍了处理相同数据类型数据集合的数组。 对于处理具有某种联系,可以由不同类型的数据项组成的复杂数据类型,C++称为结构。 本章内容包括结构类型及变量的定义,访问结构的成员方法,结构作为参数传递的函数调用及返回结构的函数等。 10.1 结构 一、结构及结构变量的定义 结构是用户自定义的新数据类型。声明结构类型时,首先指定关键字struct和结构名,然后用一对花括号将若干个结构成员数据类型说明括起来。 例如,要表示一个单位职工的收入情况,需要记录每个职工的姓名、年龄、工资等信息。当用结构类型表示时,结构中应包括一个字符串分量(表示姓名),一个整型分量(表示年龄),一个浮点型分量(表示工资)。按C++规定,可做如下定义: struct person { char name[10]; int age; float wage; }; 其中,struct 是关键字;person 是自定义的结构类型的名称;花括号中是结构成员的说明。 person 结构类型被定义后,从使用角度看,就等效于int,char,float等基本数据类型。 类型定义通常位于main( )函数之前,使该类型在定义点后面的程序中可见。 要使用结构变量也必须先定义后使用,例如: person worker; 声明一个结构并不分配内存,内存分配发生在定义这个新数据类型的变量中。 变量一旦定义,编译器将为woker 变量分配包含三种不同数据类型成员的存储空间 二、结构成员的访问 一旦通过定义相应结构变量,分配了空间,就可以使用点操作符“.”(或称结构成员操作符)来访问结构中的成员。左操作数为结构类型变量,右操作数为结构中的成员。 一般形式:结构变量名. 结构成员名 例如: worker.age=25; cinworker.age; cinworker.wage; 下面是一个定义结构类型和变量的简单例子: #includeiostream.h struct weather { float temp; int wind; }; void main( ) { weather today; today.temp=25.5; today.wind=4; cout“Temp=”today.tempendl; cout“Wind=”today.windendl; } 三、结构变量赋值 数组不能彼此赋值,但同类型的结构变量可以彼此赋值。 例如下面程序对结构变量赋值: #includeiostream.h struct person { char name[20]; long id; float salary; }; person pr1{“Li ming”, 1082422, 5300.0}; void main( ) { person pr2; pr2=pr1; //assigning pr1 to pr2 coutpr2.name“ ”pr2.id“ ”pr2.salaryendl; } 结果: Li ming 1082422 5300.0 不同类型的结构变量不允许相互赋值,即使两者包含有相同的成员。 注意:在C 中结构类型名必须包含关键字struct,故定义语句为:struct person worker,manager; 10.2 结构与指针 结构变量的成员可以通过点操作符进行访问,也可以通过指针进行访问。 若定义一个结构指针,并把一个结构变量的地址赋给它,则通过该指针可对结构变量的成员进行访问。 结构指针定义格式如下: person *p; //定义指向结构类型的指针 person pr1; //定义结构类型变量 若p=pr1;则p 是指向结构变量pr1 的结构指针,为访问成员,可写成: (*p).name 等效于p-name; (*p).id 等效于p-id; (*p).salary 等效于p-salary. 在使用指针访问成员时,通常使用箭头操作符“-”。 例如:下面程序中,定义了结构指针,通过结构指针访问结构成员。 #include iostream.h #include string.h strut person { char name[20]; long id; floa
您可能关注的文档
- [jolicloud.OS操作系统].[jolicloud.OS].Jolicloud-PreBeta简介.doc
- [Level 2] 2009年普通高校“专转本”统一考试计算机基础模拟卷二.doc
- [Level 2] 2009年普通高校“专转本”统一考试计算机基础模拟卷四.doc
- [笔记]搭建PHP环境.doc
- [第28课]针对php文件泄露问题的探讨.doc
- [第29课]远程文件重写漏洞讲解.doc
- [平板电脑刷机教程]Ramos蓝魔音悦汇W3HD固件升级.doc
- [徐]PHP期末复习.doc
- ] 教你自己做Windows 7安装U盘(图解).doc
- _Linux Wap game 服务器安装与配置文档.doc
文档评论(0)