函数传参的三种方式
函数传参的三种方式
1、按值传递,传递时形参和实参各占一个独立空间。
2、地址传递,是把实参的储存地址传送给形参。
3、引用传递,是以引用为实参的别名,和实参是同一个变量。
示例代码
按值传递#include<stdio.h>void swap1(int x, int y)//定义中的x,y变量是swap函数的两个形参{int tmp;tmp = x;x = y;y = tmp;printf("x=%d,y=%dn", x, y);}int main(){int a = 2;int b = 3;swap1(a, b);//a,b变量为swap函数的实际参数printf("a=%d,b=%d", a, b);return 0;}地址传递void swap2(int *px, int *py){int tmp;tmp = *px;*px = *py;*py = tmp;printf("px=%d,py=%dn", *px, *py);}int main(){int a = 2;int b = 3;swap2(&a, &b);/*调用了swap函数,同样也有隐含动作px=&a;py=&b;*/printf("a=%d,b=%d", a, b);return 0;}引用传递#include<stdio.h>voidswap3(int &x,int &y){int tmp = x;x = y;y = tmp;printf("x=%d,y=%dn", x, y);}int main(){int a = 2;int b = 3;swap3(a, b);//调用方式与传值一样printf("a=%d,b=%d", a, b);system("pause");return 0;}推荐教程:《C#教程》以上就是函数传参的三种方式的详细内容,更多请关注小潘博客其它相关文章!