只有在被调函数需要修改主调函数中的变量的原始值而这个被调函数又是可以信任的时候,才使用按引用调用。
使用场景
如果被调函数不需要修改主调函数中变量的值,那么就应采用按值调用。
只有在被调函数需要修改主调函数中的变量的原始值而这个被调函数又是可以信任的时候,才使用按引用调用。
定义
call-by-value
当值传递实参时,程序会为实参创建一个副本,并将副本传递给被调函数;被调函数中对这个副本的修改不会影响到主调函数中实参变量的原始值。
call-by-reference
而按引用传递实参时,主调函数则允许被调函数对实参变量的值进行修改。
C语言
在C语言中,所有的函数调用都是按值调用。
1、可以使用取址运算符合间接寻址运算符来模拟(simulate)按引用调用;
2、数组作为函数参数时,程序会自动使用按引用调用。