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

《C++语言程序设计》课件第6章.pptxVIP

  1. 1、本文档共81页,可阅读全部内容。
  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文档。上传文档
查看更多

C++语言程序设计第十一组C++语言程序设计第六章指针和引用C++语言程序设计1

目录C++语言程序设计2“指针动态内存引用基本知识指针与函数指针与字符串指针与数组指针与结构体编程技能void类型指针内存泄漏与悬挂指针刨根问底

C++语言程序设计3基本知识a

6.1指针关于变量(复习)定义变量:例如charch1=‘Y’;数据类型:指定了数据的表示和处理方法变量的地址:存放的位置变量的值:存放的内容使用变量名可以直接访问内存中的数据——直接访问C++语言程序设计4

6.1指针指针变量:简称指针,存放着某种数据类型变量的地址访问指针变量时,只能看到地址——直接访问通过这个地址,能访问该地址单元中的内容——间接访问例如:指针变量pch1中存放着字符型变量ch1的地址建立了pch1和ch1的指向关系:pch1指向ch1访问pch1,只能看到地址:直接访问通过pch1访问它所指向的ch1:间接访问C++语言程序设计5

6.1指针指针变量的定义格式:类型名*变量名1,*变量名2;例如:int*pa1,*pa2;定义指针变量时的“*”有如下两个含义声明变量pa1、pa2是指针变量说明变量pa1和pa2的类型是(int*)型,即指向整型变量的指针指针变量的类型:是它所指定的地址单元中存放的数据的类型pa1和pa2所指定的地址单元中,只能存放整型数据C++语言程序设计6

6.1指针指针的初始化是指给它分配一个有效的数据地址指针初始化的方法定义时初始化定义后赋值指针必须在初始化后才可以正确使用指针如果未初始化,其中的地址是随机值,指针指向无意义的或者没有权利去访问的内存区域,这样的指针是不能安全使用的C++语言程序设计7“先初始化,后使用”是指针变量使用的一条基本原则

6.1指针定义指针变量时初始化格式:类型名*指针变量名=变量名;例如:charch1=’Y’;char*pch1=ch1;“”:取地址运算符,可以获取变量的地址定义指针变量后,用赋值的方式初始化例如:int*pi=0;inti=100;pi=i;建议:在定义指针变量时,如果不确定指针的指向,应初始化为0或NULL空指针:0或NULL,表示不指向任何内存单元C++语言程序设计8

例:观察指针的值和指针变量自身的地址6.1指针C++语言程序设计9//指针变量#includeiostreamusingnamespacestd;intmain(){inta=10;int*pa=a;coutpapaendl;return0;}

6.1指针间接引用运算符“*”和指针变量连用,对指针所指向的内存地址单元进行间接访问格式:*指针变量例如:intva=100;int*pva=va;*pva=200;*pva就是pva所指向的变量va要用指针来访问它所指向的变量,必须使用间接引用运算“*”C++语言程序设计10

例:对变量的直接访问和间接访问6.1指针C++语言程序设计11//对变量的直接访问和间接访问#includeiostreamusingnamespacestd;voidmain(){charch1=a,*pch=0;intk1=100;pch=ch1; //指针pch指向变量ch1cout*pch=*pchendl; //间接访问*pch=B;coutch1=ch1endl; //直接访问ch1=k1;cout*pch=*pchendl; //间接访问}运行结果:*pch=ach1=B*pch=d

6.1指针指针的算术运算指针可以和一个整数n做加法或者减法运算例如:设p为指向数组中某元素的指针p+n:表示指向p后方第n个元素p-n:表示指向pa前方第n个元素指针的(++)和(--)运算运算后,指针向其后方或前方的元素指针相减运算结果为其间元素个数注意:指针的算术运算和一般的算术运算有不同的含义C++语言程序设计12

例:输出下标为偶数的数组元素的值6.1指针C++语言程序设计13//指针运算#includeiostreamusingnamespacestd;voidmain(){intk1[10]={11,24,37,44,58,66,79,86,93,108},*pk=NULL;pk=k1[0]; //数组第一个元素的地址赋值给指针kfor(inti=0;i10;i=i+2 //每次循环,指针加2 coutk

文档评论(0)

酱酱 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档