阅读量:3
在C语言中,形参和实参的传递是通过函数调用来实现的。在调用函数时,需要提供实参(也称为实际参数),这些实参的值会被传递给函数的形参(也称为形式参数)。
一般来说,有以下两种方式来传递实参给形参:
- 值传递:将实参的值复制给形参,函数中对形参的修改不会影响到实参的值。
示例代码:
#include <stdio.h> void changeValue(int x) { x = 10; // 修改形参的值 } int main() { int num = 5; // 实参的值 changeValue(num); // 传递实参给形参 printf("num = %d\n", num); // 输出实参的值,仍然为 5 return 0; }
- 地址传递:将实参的地址传递给形参,通过指针访问实参的值,函数中对形参的修改会影响到实参的值。
示例代码:
#include <stdio.h> void changeValue(int *x) { *x = 10; // 通过指针修改实参的值 } int main() { int num = 5; // 实参的值 changeValue(&num); // 传递实参的地址给形参 printf("num = %d\n", num); // 输出实参的值,被修改为 10 return 0; }
需要注意的是,指针变量作为形参时,可以使用地址传递来修改实参的值。而对于其他非指针类型的变量,只能通过值传递来传递实参给形参。