什么是按值传递

请通俗一点

指的是在方法调用时,传递的参数是按值的拷贝传递。示例如下:

按值传递重要特点:传递的是值的拷贝,也就是说传递后就互不相关了。示例如下:

在调用函数过程中,系统会把实参的值传递给被调用函数的形参。或者说,形参从实参得到一个值。该值在函数调用期间有效,可以参加该函数中的运算。

扩展资料:  

函数调用过程

1、函数的形参列于函数声明中,在函数定义的函数体内使用。在未出现函数调用时,形参不占内存中的存储单元;当函数调用时,形参(任何种类的)是一类将被填充的空白或是占位符。

2、将实参的值传递给形参。当函数被调用时,实参列在函数名后面的括号里。执行函数调用时,实参被传递给形参。

3、在执行函数期间,由于形参已经有值,可以利用其进行相关运算。

4、通过return语句将函数值带回到主调函数。

5、调用结束,形参单元被释放。实参单元仍保留并维持原值(值传递)。

参考资料来源:百度百科-值传递    

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-23
就是函数的参数是实际参数的一个拷贝,而不是参数本身。举个例子:
int swap(int a, int b) //交换a,b的值
{
int temp = a;
a = b;
b = a;
}

void main()
{
int m = 10, n =20;
swap(m,n);
cout<<m<<endl;
cout<<n<<endl;
//这里m还是10,n还是20,因为传给swap的其实是m,n的拷贝,swap改变的是m和n的拷贝的值,并没有改变m,n的值,因为swap的参数是按值传递的。也就是说在swap中,其实创建了两个临时变量,一个的值为m的值10,另一个的值是n的值20,然后交换了这两个临时变量的值.
}

相对的就是按引用传递:
int swap(int &a, int &b) //交换a,b的值
{
int temp = a;
a = b;
b = a;
}

void main()
{
int m = 10, n =20;
swap(m,n);
cout<<m<<endl;
cout<<n<<endl;
//这里m,n的值就交换了,因为传给swap的是m,n本身,而不是他们的拷贝。
}本回答被网友采纳