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

来源:互联网 发布:微信micromsg数据恢复 编辑:程序博客网 时间:2024/06/06 19:48
/* * 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) 对于值传递方式,对形参的修改不能影响到实参;对于指针传递和引用传递方式,对形参的修改一般都要影响到实参

学习心得:

  头一回发博客,真心感觉挺麻烦的,但是也知道了自己曾经的不足,主调函数的断点地址也是头一回知道,补充了一下知识。

0 0
原创粉丝点击