- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构-结构和联合
* 三、结构变量赋值 数组不能彼此赋值,但同类型的结构变量可以彼此赋值。 例如下面程序对结构变量赋值: #includeiostream.h struct person { char name[20]; unsigned 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; §9.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 struct person { char name[20]; unsigned long id; float salary; }; void main( ) { person pr1; person *p; p=pr1; strcpy(p-name, “Wang ming”); p-id p-salary=4800.0; coutp-name“ ”p-id“ ”p-salaryendl; } 结果为: Wang ming 4800.0 如果一个数组的元素是同一种结构类型的变量,那么这种数组称为结构数组。 要定义一个结构数组,必须先定义一个结构类型,然后再定义具有这种结构类型的一个数组。 例如,定义一个包含100个元素的person 结构数组: struct person { char name[20]; unsigned long id; float salary; } person allone[100]; §9.3 结构与数组 数组中每个元素是一个完整的结构变量,它包含name、id、salary三个成员分量。 allone[0] 访问第一个数组元素; allone[99]访问最后一个数组元素。 例如:下面程序对一个person 结构数组中的元素进行“冒泡法”排序,工资高的排在后面。 #include iostream.h struct person { char name[20]; unsigned long id; float salary; }; person allone[6]={{“jone”,12345,3390.0}, {“david”,13916,4490.5}, {“marit”,27519,3110.0}, {“jasen”,42876,6
文档评论(0)