在C语言中,可以使用以下两种方法调用子函数:
1. 值传递(Call by Value):将实参的值复制给形参,子函数中对形参的修改不会影响实参的值。
```c
// 声明子函数
void func(int);
// 调用子函数
int main() {
int num = 10;
func(num); // 将num的值传递给形参
return 0;
}
// 实现子函数
void func(int num) {
// 对num进行操作
}
```
2. 地址传递(Call by Reference):将实参的地址传递给形参,子函数中对形参的修改会影响实参的值。
```c
// 声明子函数
void func(int*);
// 调用子函数
int main() {
int num = 10;
func(&num); // 将num的地址传递给形参
return 0;
}
// 实现子函数
void func(int* ptr) {
// 对ptr指向的值进行操作
}
```
需要注意的是,通过地址传递可以更方便地对实参进行修改,但需要注意传递的地址是否有效,以避免潜在的错误。