今天学习代码时看到一个typedef的用法感到不解,查阅资料后终于搞明白了
typedef INT32 (*MOD_FunCbPtr )(INT32 param);
如
int *func()//为指针函数
func()是一个函数,这个函数的类型是(int *),也就是说此函数需要返回一个int* 型的变量。
而
int (*func)()//为函数指针
函数指针表述为函数的指针或许更容易理解。函数指针本质是一个指针,指针函数本质是一个函数。
typedef是用来为复杂的声明定义别名的。
常见的
typedef unsigned int int16;
用int16来代替unsigned int
函数的名字也可以用typedef来定义
只需要用新的名字代替原来复杂的名字即可
如typedef INT32 (*MOD_FunCbPtr )(INT32 param);就是用*MOD_FunCbPtr来定义原来的函数名
MOD_FunCbPtr 是函数的指针。