面向对象程序设计(C++)( 第二版) 课件 第4章 复合数据类型.pptVIP

面向对象程序设计(C++)( 第二版) 课件 第4章 复合数据类型.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
尚辅网 尚辅网 尚辅网 4.6 指 针 2. 指针运算符“*” px指向x后,就可以通过px间接访问它所指向的变量x了。*px就等价于x,所以,以下两条赋值语句: *px= 10; x = 10; 是等价的,都是将10赋给x。同样,下两条语句: cout x endl; cout*pxendl; 是以直接和间接方式输出变量x的值,因此,输出结果都是10。 尚辅网 4.6 指 针 3.变量的存取方式 (1) 直接访问 在计算机内,对变量的访问其实是通过存储单元的地址进行的,比如,当机器执行语句 coutx; 时,机器先找到变量x的地址(即0x2000),然后从 0x2000~0x2003这4个地址所对应的存储单元中的数据10(即变量x的值)取出,然后再输出。前面对变量的存取操作都是这种访问方式进行的。 (2) 间接访问 假设px是整型指针变量,它被分配到0x2018~0x201B单元,其值可以通过赋值语句“px=x;”得到。 尚辅网 4.6 指 针 4.6.4 指针变量的自加、自减运算 指针的自加、自减运算不同于普通变量的自加、自减运算,即它不是简单的加1、减1。而是对应于内存地址的偏移量实施的,偏移量会随指针类型的不同而异。 4.6.5 指针与数组 指针和数组有着极为密切的联系。引用数组元素可以用下标法,也可以用指针法,两者相比而言,下标法易于理解,适合于初学者;而指针表示法有利于提高程序执行效率。 1.数组的指针 数组在内存中的起始地址叫数组的指针。数组元素的指针是其元素在内存的起始地址。 2.指向数组的指针变量 类似于指向变量的指针。 尚辅网 4.6 指 针 3. 数组元素的引用 若有如下声明语句: int data[6]; int *p = data; 则p是指向数组data的指针变量,指针和数组之间有如下恒等式: ? data+i == data[i] == p+i (i=0,1,…,5) ? data[i] == *(data+i) == *(p+i) == p[i] (i=0,1,…,5) 所以,引用数组第i个元素,有以下几种访问方式: 尚辅网 4.6 指 针 (1) 下标法 data[i] //① 数组名下标法: p[i] //② 指针变量下标法: (2) 指针法 *(data+i) //① 数组名指针法: *(p +i) //② 指针变量指针法: 尚辅网 4.6 指 针 4. 指向字符串的指针 用双引号“ ” 括起来的字符序列叫字符串,例如welcome to Shenzhen University!。字符串在内存中以\0结尾。因为一个字符指针可以保存一个字符的地址,所以也可以定义和初始化它。 例如:char * pc = GOOD MORNING; 该语句定义了字符指针pc,并且用字符串的第一个字符的地址来初始化它,此外为字符串本身也分配了内存单元。假设字符串GOOD MORNING存放在从0x2000开始的内存单元中。pc被分配了一个地址,pc指向字母G。 尚辅网 4.6 指 针 4.6.6 指针与结构 一个结构体类型变量在内存中占有一段连续存储单元,这段内存单元的首地址,就是该结构体变量的指针。可以用一个指针变量指向一个结构变量,或指向结构数组中的元素。对结构变量的操作就可用结构指针变量操作。 1. 指向结构变量的指针 结构变量的首地址就是该结构变量的指针。用地址运算符,就可获得结构变量的指针。指向一个结构变量的指针变量称为结构指针变量。 2. 指向结构体数组的指针 可以用指向结构体数组的指针来访问结构体数组的元素。 尚辅网 4.7 情景应用——训练项目 4.7.1 项目1:不同进制数的转换 【问题描述】 在C++程序中,一般使用十进制数,有时为了提高效率或其它一些原因,还要使用二进制数。本实例将平时纸上运算过程用程序实现,运行结果如图4-245所示。 图4-245 十进制数与二进制数的转换 尚辅网 % 大连理工大学出版社 地址:大连市软件园路80号 发行:0411E-mail : dutp@ C++ 面向对象程序设计 新世纪高职高专软件专业系列规划教材 第7章 继承与派生 第8章 多态和虚函数 第9章 模板和异常处理 第10章 文件的输入输出 第11章 Visual C++编程基础 第1章 绪论 第2章

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档