C++的地址传递

举报
香菜聊游戏 发表于 2021/07/15 01:13:44 2021/07/15
【摘要】 引用和指针的区别: 1 引用必须初始化不能为空 2 引用不能脱离变量存在。指针可以 3        引用访问一个变量是直接访问,而指针是间接访问。   引用是一个变量的别名,本身不单独分配自己的内存空间,而指针有自己的内存空间。   引用在开始的时候就绑定到了一个内存空间(开始必须赋初值),所以他只能是这个   内存空间的...


引用和指针的区别:

1 引用必须初始化不能为空

2 引用不能脱离变量存在。指针可以

3        引用访问一个变量是直接访问,而指针是间接访问。
  引用是一个变量的别名,本身不单独分配自己的内存空间,而指针有自己的内存空间。
  引用在开始的时候就绑定到了一个内存空间(开始必须赋初值),所以他只能是这个
  内存空间的名字,而不能改成其他的,当然可以改变这个内存空间的值.

看下面的例子:


  
  1. // link.cpp : Defines the entry point for the console application.
  2. //
  3. #include "stdafx.h"
  4. #include <iostream>
  5. using namespace std;
  6. //传引用
  7. void swap(int &a)
  8. {
  9. a=10;
  10. }
  11. //传地址
  12. void swap1(int *a)
  13. {
  14. *a=100;
  15. }
  16. //数组
  17. void swap2(int p[],int n)
  18. {
  19. for(int i =0;i<n;i++)
  20. {
  21. p[i]=5;
  22. }
  23. }
  24. int _tmain(int argc, _TCHAR* argv[])
  25. {
  26. int a =0;
  27. swap(a);
  28. cout<<a<<" yinyong"<<endl;
  29. swap1(&a);
  30. cout<<a<<" zhizhen"<<endl;
  31. int aa[5]={1};
  32. swap2(aa,5);
  33. cout<<aa[4]<<" shuzu"<<endl;
  34. getchar();
  35. return 0;
  36. }


文章来源: gamwatcher.blog.csdn.net,作者:香菜聊游戏,版权归原作者所有,如需转载,请联系作者。

原文链接:gamwatcher.blog.csdn.net/article/details/7026420

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。