C语言中函数作为参数
时间: 2024-09-30 20:12:51 浏览: 41
在C语言中,函数可以作为参数传递给其他函数,这种特性被称为函数指针或者回调函数。这是一种高级编程技术,它允许我们创建更灵活的程序结构。
1. 函数指针:C语言提供了一种称为`void*`的数据类型,它可以指向任意类型的函数。通过定义一个函数指针变量并将其初始化为某个特定函数的地址,我们可以将这个函数看作一个参数传递给另一个函数。接收者可以根据传入的函数指针动态地调用相应的函数。
2. 回调函数:当一个函数需要另一个函数的结果作为输入继续处理时,可能会接受该结果生成的函数作为参数。这在事件驱动编程、图形用户界面等场景很常见,比如键盘或鼠标事件处理器。
3. 使用示例:
```c
void printMessage(void (*func)(char*)) {
func("Hello from function pointer!"); // 调用传入的函数
}
void sayHi(char *message) {
printf("%s", message);
}
int main() {
printMessage(sayHi); // 传递sayHi函数给printMessage
return 0;
}
阅读全文