网站大量收购闲置独家精品文档,联系QQ:2885784924

[工学]第08讲 构造数据类型-2.ppt

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]第08讲 构造数据类型-2

第八讲 构造数据类型 第八讲 构造数据类型 数组 指针 字符串 引用 结构体 共用体 枚举 动态内存分配 程序设计举例 结构体 结构体 数组中的各元素是属于同一类型的,但有时需要将不同类型的数据组合成一个有机的整体,这就引出了结构体。 结构体是由多种类型的数据组成的整体。 组成结构体的各个分量称为结构体的数据成员(简称成员)。 结构体 定义结构体类型和变量 定义结构体类型和变量的一般格式为: struct 结构体名 { 成员列表 } 变量名列表; 结构体定义是以关键字struct开始的,结构体名应是有效的C++标识符。 结构体中的每个成员都必须通过定义来确定成员名及其类型。 结构体 定义结构体类型和变量 定义结构体类型和变量举例 其中,[struct] student是定义的结构体类型名,该结构体有四个成员变量num、name、sex、age。 student1是定义的结构体变量。 结构体 定义结构体类型和变量 也可以在结构体类型定义后再定义结构体变量。格式是: struct 结构体名 变量名列表; C++中,声明结构体变量时类型名可以不写struct。 结构体 结构体变量的初始化 结构体变量的初始化就是在定义结构体变量的同时,为其成员提供初值。 举例 此时,student1变量中的成员num的值为9901,成员name的值为“wang”,成员sex的值为’f’,成员age的值为23。 结构体 结构体变量的引用 定义了结构体变量以后,就可以在程序中使用这些变量。 引用结构体变量中成员的格式为: 结构体变量名.成员名 此处的“.”是成员运算符。 如: coutstudent1.name; 若结构体的成员本身又是一个结构体变量,则要使用多个成员运算符,一级一级地找到最低一级的成员进行引用。 结构体 结构体变量的引用 对结构体成员变量的使用可像普通那样进行,如:进行赋值,参加运算等。 如: struct student s1,s2; s1.num=9901; s2.num=s1.num+1; 可以用运算符得到结构体变量的地址,也可以得到成员的地址。 如: s1 s1.num 结构体 结构体变量的引用 可以将一个已有值的结构体变量的值直接赋给另外一个相同类型的结构体变量。 如: student s1 = {1, zhang, M, 20, 90.0}; student s2; s2=s1; 结构体 结构体数组 数据类型为结构体类型的数组。 这样,数组中的每个元素都属于同一种结构体类型,每一元素都分别包含了结构体中的每个成员。 结构数组的定义 结构体 结构体数组的初始化 结构体数组在定义时也可以进行初始化。 其初始化方法与一般数组的初始化方法基本相同,只是必须为每个元素提供各结构成员的值。 结构体 指向结构体变量的指针 可以定义指针变量指向结构体变量。此时该指针变量的值就是结构体变量在内存中起始地址。 举例(cw0821) 结构体 指向结构体变量的指针 举例(续) 结构体 指向结构体变量的指针 结构体取成员的运算可以采用以下三种形式: 结构体变量名.成员名 (*结构体指针变量名).成员名 结构体指针变量名-成员名 结构体 指向结构体数组的指针 举例(cw0822) 结构体 用结构体类型的变量作函数的参数(传值) 允许把结构体类型的变量直接作为函数的参数。 但要注意:此时主调函数的调用点上的实参与被调函数相应位置上的形参必须是相同的结构体类型,是将实参的值(各成员的值)传递给相应的形参。 举例(cw0823) 结构体 用结构体类型的变量作函数的参数 举例(续) 结构体 用指向结构体的指针作函数的参数(传指针) 这种方式同指针作为函数的参数的原理一致,传递的是结构体变量的地址(指针)。 举例(cw0824) 结构体 用指向结构体的指针作函数的参数(传指针) 举例(续) 结构体 用结构体变量的引用作为函数的参数 此时,被调函数的形参必须声明成引用形式,函数的形参作为实参的一个别名来使用,从而达到对实参操作的目的。 举例(cw0825) 结构体 用结构体变量的引用作为函数的参数 举例(续) 结构体 返回结构体类型值的函数 定义格式如下: 结构体名称 函数名(形参及类型说明) { 函数体 } 举例(cw0826) 定义一个返回结构体类型的函数,求所有同学中年龄最大的同学。 结构体 返回结构类型值的函数 举例(续) 结构体 返回结构类型值的函数 举例(续) 结构体 返回结构体的引用的函数 与返回其它类型引用的函数的定义方法和原理一致。 但是要注意:不要返回一个局部变量的引用。 结构体 结构体的嵌套 C++语言中,允许定义一个结构体类型,该结构类型中可以包含另外一种结构类型的成员。 如:

文档评论(0)

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

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

1亿VIP精品文档

相关文档