注册 登录
编程论坛 C++教室

函数的参数传递

elegant87 发布于 2008-01-15 15:19, 783 次点击
函数的参数传递。

先看一个例子:

#include<iostream>
using namespace std;
void swap(int a,int b);
int main()
{
int x=10, y=7;
cout<<x<<" "<<y<<endl;;
swap(x ,y);
cout<<x<<" "<<y<<endl;
return 0;
}
void swap(int a,int b)
{
int temp;
temp=a;
a=b;
b=temp;
}

结果:10 7

           10 7


使用引用调用时:

#include<iostream>
using namespace std;
void swap(int&a,int&b);
int main()
{
int x=10, y=7;
cout<<x<<y;
swap(x ,y);
cout<<x<<y;
return 0;
}
void swap(int&a,int&b)
{
int temp;
temp=a;
a=b;
b=temp;
}

结果:10   7

           7      10

大家看看这是为什么呢?????
2 回复
#2
sunkaidong2008-01-15 15:42
前一个是传值调用,没有对现有内存中的数据修改啊.后一个是引用调用,对内存修改了.看看书啊,书上都有,潭老师的书上还有指针图的
#3
wch271492008-01-15 16:26
第一个函数的参量是普通变量,不会改变argument的值
第二个函数的参量是指针,指针指的内存地址,指针地址一旦改变了,argument的值也跟着变了。
1