当前位置: 代码迷 >> VC >> 请高手给介绍一下,应该怎么理解 typedef struct 的结构定义方式
  详细解决方案

请高手给介绍一下,应该怎么理解 typedef struct 的结构定义方式

热度:605   发布时间:2016-05-05 00:12:01.0
请高手给介绍一下,应该如何理解 typedef struct 的结构定义方式
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 定义的变量也就是当前这个结构体的指针变量。
==========================================================
稍微做了些改动
  相关解决方案