C语言 按值函数调用是在 C 编程中调用函数的默认方式。在我们按值讨论函数调用之前,让我们理解在解释这个时我们将使用的术语:
实际参数:函数调用中出现的参数。
形式参数:函数声明中出现的参数。
例如:
在上面的例子中,变量a
和b
是形式参数。变量var1
和var2
是实际参数。实际参数也可以是值。像sum(10,20)
一样,这里 10 和 20 是实际参数。
在本指南中,我们将讨论按值函数调用。如果您想阅读按引用调用方法,请参考本指南:按引用函数调用。
让我们回到原点。
什么是按值函数调用?
当我们在调用函数的同时传递实际参数,这称为按值函数调用。在这种情况下,实际参数的值被复制到形式参数。因此,对形式参数执行的操作不反映在实际参数中。
函数按值调用的示例
如上所述,在按值调用时,实际参数被复制到形式参数,因此函数对参数执行的任何操作都不会影响实际参数。让我们举个例子来理解这个:
输出:
说明
我们在调用方法时传递变量num1
,但由于我们使用按值调用方法调用函数,因此只将num1
的值复制到形式参数var
。因此,对var
的更改不会反映在num1
中。
示例 2:使用按值函数调用交换数字
输出:
为什么变量在交换后仍保持不变?
原因相同 – 函数由num1
和num2
的值调用。实际上var1
和var2
实际上是交换的(不是num1
和num2
)。在按值调用时,实际参数只是复制到形式参数中。