值和引用

做为一个新手的程序猿,前两天被问到值传递和引用传递的区别的时候,一脸茫然,不知所措。在查阅相关资料之后,决定记录下来。函数

值传递

在使用的时候,只是将变量的值传递给了函数,函数在处理改值的时候,只是在函数内部对值进行操做和改变,可是,函数运行完以后,并不会改变传递过去的值。至关于把变量复制了一份过去。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
相关文章
相关标签/搜索