参数传递

来源:互联网 发布:淘宝卖家号被冻结 编辑:程序博客网 时间:2024/05/16 23:56

先看如下例子:

#include "stdafx.h"void Function(int x){printf("x = 0x%x\n",&x);x += 100;}int _tmain(int argc, _TCHAR* argv[]){int a = 100;Function(a);printf("a = %d\n",a);printf("a = 0x%x\n",&a);return 0;}

可以看出,我们并没有得到我们想要的结果。

通过查看内存地址可以看出,并没有达到参数传递的效果,只是相当于重新声明了一个变量

所以改变的是x的值,而非a的值。

参数传递的两种方法:

1.指针传值

void Function(int *x){   *x += 100;}
2.引用传值

void Function(int &x){   x += 100;}


原创粉丝点击