现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

typedef和函数指针的一点理解

2012-07-14 21:19 工业·编程 ⁄ 共 501字 ⁄ 字号 暂无评论

    先看一个例子:

typedef int  (*pFun)(int a, int b);

pFunp FunTest;

    在上边的代码中,初看会使人误解,怎么能使用函数指针pFun来声明一个类型呢?相信很多人和我都有这样同样的感受。我就先从typedef说起,使用typedef能定义新的类型

比如:

    typedef int int_32;

    这里int_32就是一个新的类型,虽然这个类型和int是一样的,那我们就可以将typedef的功能公式化,即:

    typedef A B;其中B是依靠A而产生的新类型。

    现在我们回到最上边的例子typedef int  (*pFun)(int a, int b);如果按照常理理解是不是这样

typedef A B; 其中A 为int (*pFun)(int a, int b),B为空

按照这种方式那么就理解不通了。

咱们试着这样来理解typedef int(*pFun)(int a, int b);

typedef A B;其中A 为int ,B为(*pFun)(int a, int b)

这样解释就可以说明白了,就是依靠int这个类型来定义出新的类型(*pFun),那这样pFun pFunTest就可以正常理解了。

给我留言

留言无头像?