如下定义:
#define FI_STRUCT(x) struct x
FI_STRUCT (FIBITMAP) { void *data; };
FIBITMAP *m_hImage;
请问:FIBITMAP 和 m_hImage具体是什么,请解释一下,多谢!
FIBITMAP本身没什么意义 但是
FI_STRUCT(FIBITMAP)
就是struct FIBITMAP
FI_STRUCT (FIBITMAP) { void *data; }; =
struct FIBITMAP
{
void *data;
};也就是生命了名字为FIBITMAP的结构
m_hImage是这个结构指针
struct FIBITMAP
{
void *data;
};
FIBITMAP* m_hImage;
FIBITMAP是一个结构,其中只有一个数据成员:一个指针,可以指向任何类型的数据。而m_hImage是一个指针,指向一个FIBITMAP类型的数据。
#define FI_STRUCT(x) struct x
FI_STRUCT (FIBITMAP) { void *data; };
==>
struct FIBITMAP
{
void *data;
};
--------------------------------------
FIBITMAP *m_hImage;
中的FIBITMAP 是结构体名
m_hImage是指向上面结构体的指针。
FI_STRUCT (FIBITMAP) { void *data; };
=
struct FIBITMAP
{
void *data;
}*m_hImage;
等价的!