指针和引用
来源:互联网 发布:淘宝详情页表格制作 编辑:程序博客网 时间:2024/05/05 16:50
举例:
test(int number1, int &number2){
第一个参数: 是普通的指针
第二个参数: 是一个指向指针的引用.调用时,第一个参数传递参数地址就行,而第二个参数则需要传递一个指针变量给它
调用方法:
int num1 = 123;int *num2 = 2342;test(&num1, num2);
指向指针的引用是某一指针的别名,同变量的引用一样。引用绝对不是单独存在的,它一定是指示某个已经存在的东西的,它一定是某个已经存在的物体的”别名”.
如果被初始化赋值成某个变量后,它就始终是这个变量的替身.对引用的改变就是对这个变量的改变.(1)指向指针的引用,不仅改变了指针所指的对象,也改变了指针本身。
代码举例: 文件后缀是.cpp如果是.c 编译通不过
#include<stdio.h>//引用void quote(){ int a= 1; int b = 2; int *temp = &a; int *&p = temp; p = &b; *p = 5; printf("\n 引用 \n a is: %d \n b is: %d \n *temp is: %d\n *p is: %d\n", a, b, *temp, *p);} //指针void pointer(){ int a= 1; int b = 2; int *temp = &a; int *p = temp; p = &b; *p = 5; printf("\n 指针 \n a is: %d \n b is: %d \n *temp is: %d\n *p is: %d\n", a, b, *temp, *p);}int main(void){ pointer(); quote(); return 0;}
结果:
(2)指向指针的引用,可以实现对传递给形参的实参数值的交换。即指向指针的引用可以修改指针的值,在参数传递时是传址。
举例:
#include<iostream> using namespace std; void ptrswap2(int *&v1,int *&v2)//指向指针的引用是某一指针的别名,同变量的引用一样,可以实现对传递给形参的实参数值的交换 { int *temp=v2;//指针别名,当然以指针的形式来应用 v2=v1; v1=temp; } void ptrswap1(int *v1,int *v2)//利用指针进行数值交换,改变的只是形参的指向,实参的值保持不变; { int *temp=v1; v2=v1; v1=v2; } int main(){ int i=10; int j=20; int *pi=&i; int *pj=&j; cout<<"before swap using pointer as parameter: pi="<<*pi<<" pj="<<*pj<<endl; ptrswap1(pi,pj); cout<<"after swap using pointer as parameter, the value that pointer points to don't change"<<endl<<":: pi="<<*pi<<" pj="<<*pj<<endl; int i2=10; int j2=20; int *pi2=&i2; int *pj2=&j2; cout<<"before swap using Reference of pointer as parameter:: pi2="<<*pi2<<" pj2="<<*pj2<<endl; ptrswap2(pi2,pj2); cout<<"after swap, the value that pointer points to changed: pi2="<<*pi2<<" pj2="<<*pj2<<endl; return 0; }
结果:
原文: http://blog.csdn.net/acs713/article/details/12508049
0 0
- 指针和指针引用
- 指针和指针引用
- 指针和指针的引用
- 指针和指针的引用
- 指针,和指针的引用
- 指针和指针的引用
- 引用和指针小结
- 指针和引用
- 区分指针和引用
- 指针和引用
- 指针和引用
- 指针和引用
- 指针和引用
- 引用和指针
- 函数指针和引用
- 引用和指针
- 引用和指针
- 引用和指针
- java static
- redis删除数据后内存释放问题
- Android Studio使用技巧系列教程(五)
- Java编写一个截取字符串的函数,输入一个为字符串和字节数,输出按字节截取的字符串。要求不能出现截半的情况
- weka学习--详细的调用文档
- 指针和引用
- 安卓图表引擎AChartEngine 使用
- 与老板的对话,是我们的计划不合理,还是你太幻想了,如果这周项目能验收掉,我就把这篇文章吃掉。
- GRE写作必备句型
- Android Studio使用技巧系列教程(六)
- 对于heml和css的粗浅见解
- 微信公共平台信息查询系统
- 创建两个线程模拟火车站两个窗口售票程序
- ( Incomplete ) Cholesky decomposition