前言
C语言中的函数有自己特定的类型,函数的类型由返回值,参数类型和参数个数共同决定,比如 int add(int i,int j)的类型为int(int,int),C语言中通过typedef为函数类型重命名
typedef type name(parameter list)
例如
typedef int f(int,int);
typedef void p(int);
深入分析
函数指针就是一个指向函数的指针,可以通过函数类型定义函数指针:FuncType pointer,也可以直接定义type (pointer)(list),pointer为函数指针变量名,type为所指函数的返回值类型,list为所致函数的参数类型列表,回调函数就是利用函数指针实现的一种调用机制
回调机制原理
1.调用者不知道具体事件发生时需要调用的具体函数
2.被调函数不知道何时被调用,只知道需要完成的任务
3.当具体事情发生时,调用者通过函数指针调用具体函数
4.回调机制中的调用者和被调函数互不依赖
回调函数应用示例
#include <stdio.h>
typedef int(*Weapon)(int)