指针引用作参数和指针做参数的区别????
2015-09-19 15:02
246 查看
指针引用作参数和指针做参数的区别????
2012-10-24 17:17dingba12345 | 浏览1626 次
网络
void f(int *p)和void f(int *&rp)有什么区别? 我知道rp不占内存空间,只是实参的别名,对rp的改变就是对实参的改变。难道指针引用和指针的区别仅仅是一个不占内存一个占内存?
分享到:
2012-10-24 17:48
【团团而立】团赛进行中,百种好礼等你拿!
提问者采纳
楼上的没说全,你都知道引用是别名,那就应该知道在函数内部可以修改rp指向的地址,以前指向的是a,你可以把他改成指向b;传指针是传入参数的一份拷贝,在函数内部修改指针指向的地址,并不会修改原实参所指向的地址。可以写一个简单的程序测试下,在函数内部修改形参所指向的地址,调用完成后,看看实参指向的地址是否改变!传指针不会改变,传引用的会!动手实验下,记得更劳靠!
提问者评价
谢谢!
评论 | 23 0
![](http://img.iknow.bdimg.com/avatar/100/r6s1g4.gif)
Aroconocy |来自:手机知道 | 四级 采纳率19%
擅长: C/C++ VC++
其他类似问题
2009-09-07如何理解变量,指针,引用?282008-01-22什么时候该用指针参数 什么时候该用引用参数19
2009-08-07c++
函数参数,指针和引用7
2009-03-12普通变量、引用变量和指针变量作函数形参的区别。6
2007-04-27请问在C++中,引用作形势参数和指针作形势参数有什么区别?
更多关于参数引用
指针的问题>>
2012-10-24 17:37网友采纳
这很好理解,别想多了。 int* 也就是一种类型而已,所以你的问题和 void f2(int p) 与 void f2(int &rp)有什么分别得到的回答是一样的。rp当然要点内存空间,所占空间是一个指针的大小。 简单的来说,比如参数是 int *ptr; 假设其内容为0x12345678,内容指向的值为5,其在内存中的地址为0x00112233; 那么调用第一个f传入的值是0x12345678,第二个传入的是0x00112233。
相关文章推荐
- 表格固定布局
- output sql语句大全
- 1003. 我要通过!(20)
- 让引擎不再是你的唯一,对百度再见
- 多线程工具之NSOperationQueue
- 判断电脑系统中一个数是大端存储还是小端
- linux open
- 如何获取Images.xcassets文件夹中的图片?
- 解决IE没有的字体
- 最大公约数和最大公倍数
- iOS 开发笔记-开发技巧
- 求二叉树中节点最大距离
- 解决centos网速特别慢的最佳解决办法
- Java基础知识强化31:String类之String的面试题
- jQuery Ajax 实例演示
- php获得ip地址
- 例4.3 按引用传递。(实例位置:光盘\TM\Instances\4\例4.3)
- NDK 链接第三方静态库的方法
- Python快速过滤Numpy数组中特定元素的方法
- 传输层协议解析