您的位置:首页 > 编程语言 > C语言/C++

第二周项目-c++语言中函数参数传递的三种方式

2015-09-13 19:00 295 查看
/*
* 2015,烟台大学计算机学院
*All right reserved
*文件名称:test。cpp
*作者:贾召飞
*完成日期:2015年9月13日
*版本号:v1.0
*
*问题描述:c++语言中函数参数传递的三种方式
*/
/*
void myswap(int x, int y)
{
int t;
t = x;
x = y;
y = t;
}
*/
/*
void myswap(int &x, int &y)
{
int t;
t = x;
x = y;
y = t;
}
*/
void myswap(int *p1, int *p2)
{
int t;
t = *p1;
*p1 = *p2;
*p2 = t;
}
#include <iostream>
using namespace std;
int main()
{
int a,b;
cout << "请输入待交换的俩个整数"<< endl;
cin >> a >> b;
myswap(&a,&b);
cout << "a=" << a << " " << "b=" << b << endl;
return 0;
}
运行结果如下图所示




知识点总结:

(1) 三种传递方式在发生函数调用时,都需要为被调函数分配相应的活动记录,活动记录包括主调函数的断点地址、形参列表和局部变量。 

(2) 采用值传递方式时,传递的是变量的值;采用引用传递和指针传递方式时,传递的是变量的地址。 

(3) 对于引用传递方式,所传递的地址是通过对实参进行取地址运算来获得的;而对于指针传递方式,所传递的地址就是实参的值。 

(4) 对于值传递方式,对形参的修改不能影响到实参;对于指针传递和引用传递方式,对形参的修改一般都要影响到实参

学习心得:

  头一回发博客,真心感觉挺麻烦的,但是也知道了自己曾经的不足,主调函数的断点地址也是头一回知道,补充了一下知识。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: