在 Linux 中,函数参数可以通过指针传递给函数。这允许函数修改调用者传递的值。
传递指针
要传递指针,请使用星号 (*) 运算符声明函数参数。例如:
void myFunction(int *ptr);
这个声明表示 myFunction() 函数接受一个指向整数的指针作为参数。
传递值
要传递值,请使用 & 运算符获取变量的地址。例如:
int main() {
int x = 10;
myFunction(&x);
return 0;
}
在 main() 函数中, &x 获取变量 x 的地址,并将其传递给 myFunction() 。
函数内部修改值
在函数内部,可以使用指针来修改调用者传递的值。例如:
void myFunction(int *ptr) {
*ptr = 20;
}
在 myFunction() 中, *ptr 解引用指针并获取其指向的值。然后,该值被修改为 20。
传递数组
数组也可以通过指针传递给函数。例如:
void printArray(int *arr, int size);
这个声明表示 printArray() 函数接受一个指向整数数组的指针和数组的大小作为参数。
优点
使用指针函数参数传递参数有几个优点:
* **修改调用者传递的值:** 函数可以使用指针修改调用者传递的值,而无需显式返回修改后的值。
* **效率:** 避免了在调用方和被调用方之间复制值,因此可以提高效率。
* **通用性:** 指针可以指向各种类型的变量,使函数更加通用。