c语言3种方式实现参数传递

学习计算机已经两年了,参数传递已经成功恶心了我两年,今天在写二叉树遍历的时候成功对此忍无可忍。本文是在阅读https://blog.csdn.net/u013097971/article/details/77983810后写下的,算是对参数传递的总结,请移步原创。函数

1、值传递学习

值传递有两种,一种是传递参数的值,一种是传递参数的地址spa

 

图二中传递的是a,b的地址,在swap函数中,将a,b分别赋值给x,y。虽说x,y进行了值交换,可是a,b并无进行交换,因此主函数输出时并未交换.net

 

2、地址传递3d

在该次中传递的是a,b的地址,在swap中,x,y分别表示指向a,b地址的地址,即*x,*y表示a,b的地址,是真正的实现了地址交换,因此主函数输出时实现了交换。blog

 

3、引用传递内存

这是一种最难以理解的传递方式,我去吃点饭,稍后再继续get

 

 

这顿饭吃的稍微有点长哈,继续说引用传递,引用传递实质是对实参自己进行了直接操做,在改函数中,能够理解为x即a,y即b。效率

通常函数在调用结束后就会释放全部的内存,在这个swap函数里,是直接对a,b操做,没有进行内存申请,提升了运行效率。二叉树

相关文章
相关标签/搜索