函数参数传递方式一:值传递
代码格式:
void Swap(int a, int b)
{
...
}
void main()
{
int x = 1;
int y = 2;
Swap(x, y);
...
}
函数参数传递方式二:地址传递
代码格式:
void Swap(int * a, int * b)
{
...
}
void main()
{
int x = 1;
int y = 2;
Swap(&x,&y);
...
}
函数参数传递方式三:引用传递
注意:引用传递在C中不可用,仅C++支持;
代码格式:
void Swap(int &a, int &b)
{
...
}
void main()
{
int x = 1;
int y = 2;
Swap(x, y);
...
}
值传递与引用传递对比:
1.函数定义时格式不同:
值传递的定义:Swap(int a, int b);
引用传递的定义:Swap(int &a, int &b);
2.调用时格式相同:
值传递的调用:Swap(x, y);
引用传递的调用:Swap(x, y);
3.调用结果不同:
值传递的函数里操作的不是x、y变量本身,只是将x、y值赋给了a、b;
函数中操作的是变量a、b,而不是x、y,故x、y的值不会被函数所修改。
引用传递的函数里是用x、y分别代替了a、b;
函数中操作的是x、y变量的本身,故x、y的值可在函数里被修改。
参考资料链接:点击打开链接