C++ struct 问题

来源:百度知道 编辑:UC知道 时间:2024/06/15 11:54:24
typedef struct _WIN32_FIND_DATA {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwOID;
TCHAR cFileName[MAX_PATH];
} WIN32_FIND_DATA;

第一行的_WIN32_FIND_DATA 是什么意思?
最后1行的WIN32_FIND_DATA是什么意思?
谢谢大家

第一行_WIN32_FIND_DATA 就是定义一个自定义数据结构, 意思就是把中括号里面的数据类型,做为一个自定义的类型,后面的WIN32_FIND_DATA就是标识,把以上的数据结构用WIN32_FIND_DATA来标识,你也可以标识为ABC_DATA。

建议去看看C语言关于自定义数据类型。

第一行的_WIN32_FIND_DATA 是:定义的结构体名称,象类名称,
最后1行的WIN32_FIND_DATA是:该结构体的一个实例,象一个类的对象。

1.结构名
2.类型名

相当於
struct _WIN32_FIND_DATA {
DWORD dwFileAttributes;
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwOID;
TCHAR cFileName[MAX_PATH];
};

typedef struct _WIN32_FIND_DATA WIN32_FIND_DATA;

类似于class定义,第一行的 _WIN32_FIND_DATA 是结构体名称,相当于一个类型
最后一行的 WIN32_FIND_DATA 是这种类型的一个实例。

即它等价于 _WIN32_FIND_DATA WIN32_FIND_DATA;

本题表示在定义时声明一个实例