C/C++语言中函数参数传递的三种方式
2015-09-11 09:23
295 查看
(1)传值
#include<iostream> using namespace std; void myswap(int x,int y) { int t; t=x; x=y; y=t; } int main() { int a,b; cin>>a>>b; myswap(a,b); cout<<a<<" "<<b; return 0; }
运行结果:
(2)传地址
include<iostream> using namespace std; void myswap(int *p1,int *p2) { int t; t=*p1; *p1=*p2; *p2=t; } int main() { int a,b; cin>>a>>b; myswap(&a,&b); cout<<a<<" "<<b; return 0; }
运行结果:
(3)引用作形参
#include<iostream> using namespace std; void myswap(int &x,int &y) { int t; t=x; x=y; y=t; } int main() { int a,b; cin>>a>>b; myswap(a,b); cout<<a<<" "<<b; return 0; }
运行结果:
知识点总结:
(1) 从程序的结果中我们发现第一种的数值没有交换成功,是因为第一种是传值交换,
在程序中的myswap函数中只是形参的数值做了交换,而main函数中的实参数值并没有交换。
(2)第二种和第三种的数值交换成功了,是因为第二种在myswap函数中指针变量作为形
参,而在main 函数中实参变成了a,b的地址,a,b的地址交换从而数值也做了交换;第三种是
引用,形参和实参共用一个空间,形参交换,实参也就交换。
相关文章推荐
- C++Primer第五版 3.2.3节练习
- Java使用JNI调用C++实现Hello jni
- 项目1--C/C++语言中函数参数传递的三种方式
- C++语言中函数参数传递的三种方式
- 第2周项目1 C/C++语言中函数参数传递的三种方式
- 第一周项目 — C/C++语言中函数参数传递的三种方式
- 第二周项目1—C/C++语言中函数参数传递的三种方式
- C语言中函数参数传递的三种方式
- 【第2周 项目3 - 体验复杂度(两种排序算法的运行时间)】
- C语言入门小知识
- 第二周项目1--C++语言中函数参数传递的三种方式
- 项目2 - 程序的多文件组织
- 第2周项目1-C/C++语言中函数参数传递的三种方式
- 第二周 项目1-C/C++语言中函数参数传递的三种方式
- 第2周项目1-C/C++语言中函数参数传递的三种方式
- c++指针存储应用程序和释放内存的问题
- Effective C++ —— 让自己习惯C++(一)
- 第2周 项目1-C/C++语言中函数参数传递的三种方式
- 第二周项目1 - C/C++语言中函数参数传递的三种方式
- 第二周 项目1-C/C++语言中函数参数传递的三种方式