首先来介绍下函数指针:
函数指针是指向函数的指针变量,即本质是一个指针变量。
int (*f) (int x); /* 声明一个函数指针 */
f=func; /* 将func函数的首地址赋给指针f */
使用的时候可以直接通过(*f)(x)这样的形式。网上有很多的函数指针资料,就不多说了。
当我们在函数指针前加上typedef,就变成什么样了呢?
比如typedef INT32 (*WNDPROC)(HWND, INT32, WPARAM, LPARAM);
这条语句的意思是定义了一个类型WNDPROC,这个类型的对象是一个函数的指针,函数的返回值为INT32,参数类型为HWND, INT32, WPARAM, LPARAM。
举个例子:
程序结果打印2出来。
typedef的作用相当于给函数起了个别名,在某些情况下有利于代码简化,跨平台调用。
原文地址:http://www.cnblogs.com/hedengfeng/p/3850625.html