做为一个新手的程序猿,前两天被问到值传递和引用传递的区别的时候,一脸茫然,不知所措。在查阅相关资料之后,决定记录下来。函数
在使用的时候,只是将变量的值传递给了函数,函数在处理改值的时候,只是在函数内部对值进行操做和改变,可是,函数运行完以后,并不会改变传递过去的值。至关于把变量复制了一份过去。code
在使用的时候,将变量的内存地址也传递过去,在对变量进行操做的时候,会改变变量的地址。函数运行完成后,变量的值会发生变化。内存
#include<stdio.h> void testn(int a){ a++; printf("%d\n",a); } int main(){ int a=10; testn(a); printf("%d\n",a); return 0; }
以上为值传递的实例,
运行结果:io
11 10
#include<stdio.h> void testn(int& a){ a++; printf("%d\n",a); } int main(){ int a=10; testn(a); printf("%d\n",a); return 0; }
以上为引用传递的实例, 运行结果:test
11 11