传值,传址和引用传递的区别
来源:互联网 发布:阿里云服务器客服电话 编辑:程序博客网 时间:2024/09/21 08:45
先贴一段代码,
void swap_zhi(int v1,int v2){ int temp=v1; v1=v2; v2=temp;}void swap(int *p1,int *p2){ int temp=*p1; *p1=*p2; *p2=temp;}void swap1(int *p1,int *p2){ int *p; p=p1; p1=p2; p2=p;}void swap_ref(int &p1,int &p2){ int temp; temp=p1; p1=p2; p2=temp;}void main(0{ int a1=10; int b1=20; int *p_1=&a1; int *p_2=&b1; //swap(p_1,p_2); //swap1(p_1,p_2); swap_ref(a1,b1);}
上面,swap_zhi是典型的传值函数,swap和swap1分别是传址函数,和传址函数的对比函数,swap_ref是引用传递函数。
传值函数执行时,实参的值不会变换,只有形参会发生改变。
传址函数执行时,实参的地址不会变,形参的地址改变;但是实参的指向会发生变化,可以实现数据的顺序更改。
引用传递函数执行时,实参和形参都会改变,原因则是由于形参此时只是实参的一个引用,只是一个别名,没有复制的过程,所以引用用来做形参传递参数是效率最高的。
- 传值,传址和引用传递的区别
- 引用传递和值传递的区别
- 值传递和引用传递的区别
- 值传递和引用传递的区别
- 值传递和引用传递的区别
- 值传递和引用传递的区别
- 值传递和引用传递的区别
- 值传递和引用传递的区别
- 值传递和引用传递的区别
- 引用传递和值传递的区别
- 值传递、指针传递和引用传递的区别
- PHP值传递和引用传递的区别。什么时候传值什么时候传引用
- 指针、值和引用传递的区别
- "栈"和"堆"的区别; 引用传递和值传递
- 值传递和引用传递的区别和理解demo
- Java的值传递和引用值传递的区别
- 对于Java的值传递和引用传递的区别
- 传递指针和传递引用的区别-2
- 讲解Informix Dynamic Server的权限设置
- 利用js实现跨域取数据问题
- 每日一句,每日10词【3】(13天)Perseverance is vital to success.
- IIS 当前连接数
- SQL2000/2005自动生成数据字典
- 传值,传址和引用传递的区别
- 图形数据库、NOSQL和Neo4j
- 2823 Sliding Window //单调队列
- ubuntu11.04更改默认JDK
- c++ 纯虚函数
- Facebook接入(新)--iframe方式
- 社交网站用户的构成遵循1/9/90原则
- 值得推荐的免费网上课程
- 您的意见真的很重要!!!