typedef int(init_fnc_t) (void);
这个就是一个取别名的过程。我们通常情况下会如下使用typedef:
typedef unsigned char uint8_t;
uint8_t i;
这个时候我们的uint8_t就和unsigned char是一样的意思;而对于函数的声明我们通常会这样声明:
int Func(void);此时表示声明了一个函数名为Func的函数,函数没有任何的形参,返回值类型为int型。而对于:
typedef int(init_fnc_t) (void);
就是对一个int (void)类型的函数类型进行取别名init_fnc_t。我们可以利用这个别名进行创建这个类型的函数对象。
init_fnc_t *MyFunc;
这里就是一个函数的指针。如果某个函数的类型和这个函数一样,那么可以将这个函数的指针指向该函数,然后你就可以直接调用MyFunc()了。
原文章:typedef int(init_fnc_t) (void) 和 typedef int(*init_fnc_t) (void);