指针 指针引用 指针指针.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
指针 指针引用 指针指针

HYPERLINK /mzty/archive/2006/07/07/9531.html c++中指针,指针的引用,指针的指针的区别 看例子和结果: #include?iostream using?namespace?std; void?FreePtr1(int*?ptr1) { ????delete?ptr1;? ????ptr1?=?NULL; } void?FreePtr2(int*?ptr2) { ????delete?ptr2;? ????ptr2?=?NULL; }? void?FreePtr3(int?**ptr3) { ????delete?*ptr3; ????*ptr3?=?NULL; } void?main() { ????cout---------------------------------------endl; ????int?*p1?=?new?int; ????*p1?=?1; ????cout*p1=*p1endl; ????FreePtr1(p1); ????coutafter?call?freePtr1endl; ????if(p1?!=?NULL) ????{ ????????coutp1?is?not?nullendl; ????????cout*p1=(*p1)endl; ????} ????cout---------------------------------------endl; ????int?*p2?=?new?int; ????*p2?=?2; ????cout*p2=*p2endl; ????FreePtr2(p2); ????coutafter?call?freePtr2endl; ????if(p2?!=?NULL) ????{??????? ????????cout*p2=*p2endl; ????} ????else ????{ ????????coutthe?p2?is?nullendl; ????} ????cout---------------------------------------endl; ????int?*p3?; ????p3?=?new?int(3); ????cout*p3=*p3endl; ????FreePtr3(p3); ????coutafter?call?freePtr3endl; ????if(p3?!=?NULL) ????{??????? ????????cout*p3=*p3endl; ????} ????else ????{ ????????coutthe?p3?is?nullendl; ????} ????cout---------------------------------------endl; ????system(pause); } 结果: comments: 对p1指针: cout---------------------------------------endl; ?int *p1 = new int; ?*p1 = 1; ?cout*p1=*p1endl; //?FreePtr1(p1); void FreePtr1(int* ptr1) { ?delete ptr1;? ?ptr1 = NULL; } ?coutafter call freePtr1endl; ?if(p1 != NULL) ?{ ??coutp1 is not nullendl; ??cout*p1=(*p1)endl; ?} ?cout---------------------------------------endl; 而p2为: 调用前: 调用后: 注意:函数的参数进行值拷贝,即使传的是指针,也的对指针(即指针里存的地址)的拷贝, 可不是指针里地址所指的值的拷贝啊! 引用与指针的区别: ? 常常有人问引用与指针的区别,可能是指针和引用在功能上的相似,而是他们混淆这两个概念,现在总结以下二者的区别,希望大家能彻底弄清这两个概念根本性的差别: 引用,一个变量的别名,为什么引入别名呢?原因是我们想定义一个变量,他共享另一个变量的内存空间,使用别名无疑是一个好的选择。变量是什么?是一个内存空间的名字,如果我们给这个内存空间在起另外一个名字,那就是能够共享这个内存了,引用(别名)的由此而来。 指针,指向另一个内存空间的变量,我们可以通过它来索引另一个内存空间的内容,本身有自己的内存空间。 二者区别:(1)引用访问一个变量是直接访问,而指针是间接访问。 ??????????? (2)引用是一个变量的别名,本身不单独分配自己的内存空间,而指针有自己的内存空间。 ??????

文档评论(0)

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

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档