所述通过引用(地址传递)将参数传递给一个功能拷贝的参数的地址成形式参数的方法。在函数内部,该地址用于访问调用中使用的实际参数。这意味着对参数所做的更改会影响传递的参数。
要通过引用传递值,参数指针将像任何其他值一样传递给函数。因此,您需要将函数参数声明为指针类型,如下面的函数swap,它通过参数交换指向的两个整数变量的值。
/* function definition to swap the values */
void swap(int *x, int *y) {
int temp;
temp = *x; /* save the value at address x */
*x = *y; /* put y into x */
*y = temp; /* put temp into y */
return;
}
它表明变化也反映在函数外部,不同于按值调用,其中变化不反映在函数外部。
默认情况下,C使用call by value来传递参数。通常,这意味着函数内的代码不能改变用于调用函数的参数。函数是一组一起执行任务的语句。每个C程序至少有一个函数,即main,所有最简单的程序都可以定义其他函数。