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

C++实参形参

2015-08-21 18:38 120 查看
实参形参

当传递的实参值需要在函数中获取改变的时候,就需要用到传引用或者指针。否则传递的是形参,参数自己并不改变,在函数中的是一个复制过去的副本。

向函数传递参数的方式有:传值调用,指针调用,引用调用,详见如下:

#include <iostream.h>
void func1(int a)//传值调用
//int b;对应调用func3(b);
{
a--;
}
void func2(int *a)//指针调用
//int b;对应调用func2(&b);
{
(*a)--;
}
void func3(int &a)//引用调用
//int b;对应调用func3(b);
{
a--;
}
void func4(int *&a)//指针的引用调用,相当于给实参m起个新名字叫做a,a就是实参m
//int*b;对应盗用func4(b);
{
(*a)--;
}
int main()
{
int a = 10;
cout<<"The value of a:"<<a<<endl;
cout<<a<<endl;
func1(a);
cout<<"After func1:The value of a:"<<a<<endl;
cout<<a<<endl;
func2(&a);
cout<<"After func2:The value of a:"<<a<<endl;
cout<<a<<endl;
func3(a);
cout<<"After func3:The value of a:"<<a<<endl;
cout<<a<<endl;
int b = 90;
int *m = &b;
cout<<"The value of m:"<<*m<<endl;
func4(m);
cout<<"After func4:The value of m:"<<*m<<endl;
}
执行的结果如下图所示:



由此可见传引用或者指针时,传递的是实参,实际值发生了变化。

参考:http://www.docin.com/p-655157558.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: