在C语言中,子程序通常是通过函数来实现的。调用子程序的步骤如下:
声明子程序
使用 `extern` 关键字声明子程序的返回类型和参数类型。例如:
```c
extern int sum(int, int);
```
声明告诉编译器子程序的存在,但此时子程序的具体实现还未定义。
定义子程序
在单独的代码文件中定义子程序,包括其返回类型、参数类型、名称和函数体。例如:
```c
int sum(int a, int b) {
return a + b;
}
```
定义提供了子程序的具体实现。
调用子程序
在主程序或其他子程序中使用子程序的名称后跟参数列表调用子程序。例如:
```c
int result = sum(5, 7);
```
调用子程序时,编译器会根据函数名和参数列表找到对应的函数实现,并执行该函数。
注意事项
子程序的声明和定义必须匹配,否则会产生编译错误。
子程序的参数列表必须与声明相匹配。
子程序可以返回一个值,也可以不返回(定义为 `void` 类型)。
子程序可以在不同的源文件中定义和调用,但声明通常放在头文件中,以便多个源文件包含。
示例代码
sum.h(头文件):
```c
ifndef SUM_H
define SUM_H
extern int sum(int, int);
endif // SUM_H
```
sum.c(源文件):
```c
include "sum.h"
int sum(int a, int b) {
return a + b;
}
```
main.c(主程序):
```c
include include "sum.h" int main() { int result = sum(5, 7); printf("The sum of 5 and 7 is: %d ", result); return 0; } ``` 在这个示例中,`sum` 函数在 `sum.c` 文件中定义,并在 `main.c` 文件中声明和调用。通过这种方式,子程序(函数)可以在不同的源文件中被重用和调用。