- 函数的形参和实参可以相同,并且这样很方便。
- 值的传递:单向传递,实参传给形参。
1、形参和实参不是指针类型:在该函数运行时,形参和实参是不同的变量,他们在内存中位于不同的存储空间,形参将实参的内容。函数运行结束时,形参被释放,实参内容不改变。
2、函数的参数是指针类型变量:在调用该函数的过程中,传给函数的是实参的地址,在函数体内部使用的也是实参的地址,即使用的就是实参本身。所以在函数体内部可以改变实参的值。(通过交换 指针所指的变量的内容)
void swap( int *a, int *b )
{
int t=*a;//交换形参变量地址中的内容
*a=*b;
*b=t;
}
3、C++中,除了指针,使用引用的方式,也可以实现改变实参的值。(引用,又称为别名,所以指向的是同一块存储空间)。
void swap(int &a,int &b)//形参是引用
{
int temp;
temp=a;
a=b;
b=temp;
}