C语言允许函数作为参数吗传递吗
时间: 2023-11-11 18:04:17 浏览: 82
是的,C语言允许函数作为参数进行传递。这种方式称为函数指针,可以将一个函数的地址作为参数传递给另一个函数,从而使得被调用的函数可以调用被传递的函数。函数指针可以为函数提供更灵活的调用方式,也为一些高级编程技巧提供了基础。以下是一个简单的函数指针示例:
```c
#include <stdio.h>
void printHello() {
printf("Hello ");
}
void printWorld() {
printf("World\n");
}
void callFunc(void (*func)()) {
func();
}
int main() {
callFunc(printHello);
callFunc(printWorld);
return 0;
}
```
在这个程序中,我们定义了两个函数 `printHello` 和 `printWorld`,它们都没有参数和返回值。然后我们定义了一个函数 `callFunc`,它的参数是一个函数指针 `void (*func)()`,它可以指向任何没有参数和返回值的函数。在 `main` 函数中,我们分别传递 `printHello` 和 `printWorld` 函数的地址给 `callFunc` 函数,从而使得 `callFunc` 函数可以调用这两个函数。最终程序的输出结果是:
```
Hello World
```
阅读全文