typedef可以用来定义函数类型,如下所示定义函数类型F:
typedef int F(void);
这种类型的函数不带参数,返回值是 int。
如下声明定义了一个函数指针:
int (*fp)(void);
fp是一个函数指针,该指针指向的函数不带参数,返回值为int 。 所以 该声明等同于
F *fp;
2、如下函数声明:
int (*fp(char)) (void);
fp是一个函数,该函数的参数是char,返回值是一个函数指针,该指针指向的函数不带参数,返回值是int, 所以该函数声明等同于
F *fp(char);
3、typedef还可以用来定义函数指针类型,如下所示:
typedef void (*callback_t)(void *);
定义了函数指针类型callback_t,该指针指向的函数有一个参数,无返回值。然后就可以声明一个函数指针f :
callback_t f;