千家信息网

函数传参有哪些方式

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,这篇文章运用简单易懂的例子给大家介绍函数传参有哪些方式,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、按值传递,传递时形参和实参各占一个独立空间。2、地址传递,是把实参的储存地
千家信息网最后更新 2024年09月22日函数传参有哪些方式

这篇文章运用简单易懂的例子给大家介绍函数传参有哪些方式,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

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;}

关于函数传参有哪些方式就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

0