第7章指针与引用ppt课件.ppt

第7章指针与引用ppt课件.ppt

ID:59490538

大小:595.50 KB

页数:77页

时间:2020-09-13

第7章指针与引用ppt课件.ppt_第1页
第7章指针与引用ppt课件.ppt_第2页
第7章指针与引用ppt课件.ppt_第3页
第7章指针与引用ppt课件.ppt_第4页
第7章指针与引用ppt课件.ppt_第5页
资源描述:

《第7章指针与引用ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章指针与引用本章内容安排7.1创建和使用指针变量7.2栈和堆(new与delete动态内存分配)7.3堆中创建、访问与删除对象7.4创建和使用引用7.5数据成员中的指针与引用7.6复制构造函数中的深拷贝与浅拷贝7.7指针和引用的陷阱21、地址的概念地址:内存单元的编号就是该单元的地址,它表明了内存单元在内存中的相对位置变量保存在内存中,不同类型变量占用内存单元的数量不同变量的地址:变量占用的首个内存单元的地址2000…02…2002inta;如,变量a占用的是内存的2000~2003四个单元,变量a的地址为2000

2、。源代码中写a=5;我们可以理解为将5赋值给变量a;而计算机在执行程序时,只是将5送入2000~2003四个内存单元中3【例7_1】查看变量的地址#includeintmain(){shortsVar=5;longlVar=65535;floatfVar=3.14f;std::cout<<"Short:t"<

3、Float:t"<

4、会为指针变量分配内存单元。指针变量的类型:可保存其地址的变量数据类型。NULL为预定义常量,表示空指针,NULL通常等价于0。良好编程习惯:定义指针变量时应对其执行初始化,未初始化的指针称为野指针,非常危险。5为指针变量赋值通过&、=运算符,可以将某个变量的地址保存到指针变量中,称指针变量指向某个变量。inthowOld=50;int*pAge;pAge=&howOld;int*pAge2=&howOld;pAge=howOld;double*p=&howOld;指针变量中存储的地址值实际上是一个整数值,但不能将整数值

5、直接赋值给指针变量。赋值时,取地址的变量类型必须与指针变量类型一致。否则编译器报错。X6指针变量inta=5;int*pa;pa=&a;指针变量pa指向变量a73、间接运算符*对指针变量执行间接运算*,又称为解除引用,将获得指针所指向地址处的值。unsignedshorthowOld=50;unsignedshortyourAge;yourAge=howOld;unsignedshorthowOld=50;unsignedshort*pAge=&howOld;unsignedshortyourAge;yourAge=*

6、pAge;8【例7-2】使用指针操作数据#includeintmain(){intmyAge;int*pAge=&myAge;myAge=5;std::cout<<"MyAge:t"<

7、nt*pAge;pAge=&a;int*p=&a;定义指针变量后,指针变量前的*表示解除引用,表示“存储在……处的值”*pAge=50;//将50保存到pAge所指处*(&a)a*可作为乘法运算符*pAge=yourAge*2;104、指针的用处实际编程时,很少直接定义指针变量指向某个变量,然后通过指针间接访问该变量。指针的实际应用传递函数参数,实现对实参的间接修改。访问类中成员数据和成员函数;管理堆中的数据(动态内存管理);11【例7-3】用指针交换两个整数“函数”章中有swap函数,不成功的交换原因:参数是变量

8、的值=》单向的传递办法:参数是变量的地址=》访问的是同一内存空间voidswap(int*x,int*y){inttemp;temp=*x;*x=*y;*y=temp;std::cout<<*x<<","<<*y<voidswap(int*a,int*b);intmain

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。