关于C++头文件中typedef的意思》急急急!!!

typedef struct msg
{
DWORD dd;
WORD ss;
double sd;
double sdf;
} msg, *gg;
typedef DWORD (PASCAL *pp)(gg);
恳请详解,不胜感激!

第1个回答  2013-01-05
例如:typedef int INT。就是把INT作为int的另一个“版本”。定义整型变量时你可以用int a,也可以用INT a,在当前文件中,它们是一样的
第2个回答  2013-01-05
类型定义。
第3个回答  推荐于2016-06-12
typedef类型定义,也就是自定义一种新的类型,如
typedef int INT
则INT是一种定义的新类型,它代表的类型为int型。
使用typedef时,对于简单的类型很容易理解,但复杂的如
typedef DWORD (PASCAL *pp)(gg);就容易使人迷糊。
不过可以这样:
为了定义一种新类型,先考虑用原类型定义一个变量,如为了定义函数指针pp,可以DWORD (PASCAL *pp)(gg)= 0;
为了让pp代表这种函数指针类型,即在前面加上typedef。
即typedef DWORD (PASCAL *pp)(gg);

在下次想定义一个DWORD (PASCAL *)(gg)类型的函数指针时,就可以用
pp p;进行定义。
另外这里PASCAL是定义函数调用方式:
#define PASCAL __stdcall
你可以自行查找这方面更多资料本回答被提问者采纳
第4个回答  2013-01-05
typedef意思是类型别名
在c中,在结构中使用typedef,可使创建此结构的变量时不使用struct关键字
而在c++中,也可不使用typedef,这样创建变量时也可不用struct关键字

typedef struct msg
{
DWORD dd;//成员变量
WORD ss;
double sd;
double sdf;
} msg, *gg;//在结构声明时就创建变量,所以结构体后要加";"
typedef DWORD (PASCAL *pp)(gg);//在用DWORD声明变量时,代表 (PASCAL *pp)(gg)这种类
//型,是为了简化代码
相似回答