1. 值传递
#include <stdio.h>
int sum(int a , int b )
{
a++;
b++;
return a+ b;
}
int main()
{
int a, b;
a=4;
b=5;
printf( "a=%d, b=%d, sum=%d\n" ,a,b,sum(a,b));
return 0;
}
得到:
a=4, b=5, sum=11
可以看到,a,b值没有改变
2.使用指针
如果要改变a,b的值,可以有两种方法
int sum(int* a, int* b)
{
(*a)++;
(*b)++;
return *a+*b;
}
这里函数的参数是指针,调用后,可以间接改变参数的值,不变的是指针,也即地址
3.引用参数
引用参数是函数调用中传递实际参数的别名
允许调用的函数参数修改实际参数
int swap(int& a, int& b)
{
int tmp = b;
b = a;
a = tmp;
}
在参数的类型名称后面和参数名称前面加&