值传递,引用传递,指针传递
值传递,引用传递,指针传递:
1、值传递:
void f(int x)
传值传的是原来实参的一份拷贝,对形参进行操作不会改变实参的值。函数返回后,函数栈帧销毁,这份拷贝也会自动被回收。
2、引用传递:
void f(int& x)
传引用什么也没创建,只是给实参起个别名,就像同学之间取外号一样,张三是一个同学,别人给他取名就二狗,那么张三,二狗就是同一个人。在这也是一样的,对引用进行操作就等于对实参的操作,对引用的操作会影响原来的实参。
3、指针传递:
void f(int* &x)
如果传入的指针型变量,并且在函数体内要对传入的指针进行改变,则可以按照上述编写参数。
传指针就是为实参传建一个指针变量,指针变量里面存的就是实参的地址,对形参进行操作也会通过指针的间接访问对实参进行修改,所以对形参的操作会影响原来的值。
如果觉得本文对你有所帮助的话,不妨关注作者一波。更多高质量内容和资料请访问:https://xiuxin.gitbook.io/datastructre/