请问一个比较复杂的定义和声明,我看不懂,多谢!
如下定义:
#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;
等价的!


讨论区