typedef struct {
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCTSTR lpszMenuName;
LPCTSTR lpszClassName;
} WNDCLASS, *PWNDCLASS;
我只理解到的是利用 typedef 将当前的这个结构体类型分别重新命名为 WNDCLASS 和 *PWNDCLASS,这样用 WNDCLASS 定义变量时,也就是这个结构体的变量了。而通过 *PWNDCLASS 定义的变量也就是当前这个结构体的指针变量。不是是否正确,请高手指点指点,不胜感激,在此谢过了。
------解决方案--------------------
MSDN上说得很明白了。
http://msdn.microsoft.com/zh-cn/library/windowsphone/develop/05w82thz.aspx
------解决方案--------------------
typedef struct .. 方式是c 留下的
在c 中不能这样用 、
struct a{};
a temp ...
而要
struct a temp
所以要起个别名
------解决方案--------------------
结构体的定义,一般在使用时都使用这种方式,其实只是定义一个类型的别名,使用方便些
------解决方案--------------------
typedef struct {
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCTSTR lpszMenuName;
LPCTSTR lpszClassName;
} WNDCLASS, *PWNDCLASS;
typedef 将当前的这个结构体类型重新命名为 WNDCLASS,而PWNDCLASS则是此结构体的指针类型
这样用 WNDCLASS 定义变量时,也就是这个结构体的变量了。
而通过 PWNDCLASS 定义的变量也就是当前这个结构体的指针变量。
==========================================================
稍微做了些改动