郑重声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,如果您不同意请关闭该页面!任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!

int tex (int a,int b)

值传递:有一个形参向函数所属的栈拷贝数据的过程,如果值传递的对象是类对象或是大的结构体对象,将耗费一定的时间和空间。

int tex(int *a,int *b)

指针传递:同样有一个形参向函数所属的栈拷贝数据的过程,但拷贝的数据是一个固定为4字节的地址。

int tex(int &a,int &b)

引用传递:同样有上述的数据拷贝过程,但其是针对地址的,相当于为该数据所在的地址起了一个别名。

效率上讲,指针传递和引用传递比值传递效率高。一般主张使用引用传递,代码逻辑上更加紧凑、清晰。

引用传递做函数参数”是C++的特性,C语言不支持。

tip:

如果是值的传递,是拷贝过去的就是在用的函数中修改了那个值也不会影响到原先的值
若果是引用的传递,虽然是数据拷贝但是在用的函数中修改了那个值是会影响到原先的值