关于windows结构体定义

来源:百度知道 编辑:UC知道 时间:2024/06/06 06:39:01
各位朋友,我尽在在看windows程序设计,有一些地方实在不是很明白,希望哪位高手可以帮兄弟指点迷津,谢谢。
关于以下的关于结构体的定义:
typedef struct tagWNDCLASSW
{
.........
}
WNDCLASSW, * PWNDCLASSW, NEAR * NPWNDCLASSW, FAR * LPWNDCLASSW ;

typedef 用在这里我有点不明白,结构体后面WNDCLASSW, * PWNDCLASSW, NEAR * NPWNDCLASSW, FAR * LPWNDCLASSW 全部都是结构体对象名吗?或者还是为了少一个struct的简写版本?

如果是结构体对象名那么typedef 就变得有点奇怪
如果定义同类型的同义词转换,为什么后面接了那么多的变量名呢?

再或者是其他的原因..小弟刚接触这个东西不久,真的不明白,请各位不吝赐教~~

WNDCLASSW, * PWNDCLASSW, NEAR * NPWNDCLASSW, FAR * LPWNDCLASSW
是这个结构的别名

用这个结构定义变量可以用
struct tagWNDCLASSW wnd;

也可以用
WNDCLASSW wnd;

定义指针可以用
struct tagWNDCLASSW *pwnd;
PWNDCLASSW pwnd;

意思就是给结构体定义了多个别名~
可以这样理解不?楼上的??