函数传参有哪些方式
这篇文章运用简单易懂的例子给大家介绍函数传参有哪些方式,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
创新互联建站主营广平网站建设的网络公司,主营网站建设方案,成都App定制开发,广平h5小程序制作搭建,广平网站营销推广欢迎广平等地区企业咨询
1、按值传递,传递时形参和实参各占一个独立空间。
2、地址传递,是把实参的储存地址传送给形参。
3、引用传递,是以引用为实参的别名,和实参是同一个变量。
示例代码
按值传递
#includevoid swap1(int x, int y)//定义中的x,y变量是swap函数的两个形参 { int tmp; tmp = x; x = y; y = tmp; printf("x=%d,y=%d\n", 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=%d\n", *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; }
引用传递
#includevoid swap3(int &x,int &y) { int tmp = x; x = y; y = tmp; printf("x=%d,y=%d\n", x, y); } int main() { int a = 2; int b = 3; swap3(a, b);//调用方式与传值一样 printf("a=%d,b=%d", a, b); system("pause"); return 0; }
关于函数传参有哪些方式就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
文章标题:函数传参有哪些方式
文章来源:http://myzitong.com/article/jshopg.html