typedef使用-C/C++

一、定义一种类型的别名,而不只是简单的宏替换,可以用作同时声明指针型的多个对象

typedef char* PCHAR;

PCHAR pa, pb; 

二、用在旧的C代码中,帮助struct,C++中用不到

typedef struct tagPOINT
{
    int x;

    int y;
}POINT;

POINT p1; // 这样就比原来的方式少写了一个struct,比较省事,尤其在大量使用的时

三、用typedef来定义与平台无关的类型。

比如定义一个叫 REAL 的浮点类型,在目标平台一上,让它表示最高精度的类型为:

typedef long double REAL;

四、(重点、难点)函数指针的配合使用

typedef  返回类型(*新类型)(参数表)

typedef char (*PTRFUN)(int);  


原声明:void (*b[10]) (void (*)());

变量名为b,先替换右边部分括号里的,pFunParam为别名一:

typedef void (*pFunParam)();

再替换左边的变量b,pFunx为别名二:

typedef void (*pFunx)(pFunParam);

原声明的最简化版:

pFunx b[10];


参考: http://blog.csdn.net/qll125596718/article/details/6891881  

http://www.cnblogs.com/csyisong/archive/2009/01/09/1372363.html 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章