简单的有关问题,小弟我就是不会,关于struct中成员的偏移量
简单的问题,我就是不会,关于struct中成员的偏移量
有一个C++语言写的 struct:
struct MSG_STRUCT
{
WORD CmdId;
DWORD Length;
char UserName[12];
char Content[256];
}
用哪一个运算符能得到最后一个变量Content在结构体中的偏移量呢?也就是说前三个变量总共的大小?
如果是一个很复杂的结构体呢,有没有最简单的办法
------解决方案--------------------
使用这个宏
#define FIELD_OFFSET(t,f) ((LONG)&(((t*)0)-> f))
------解决方案--------------------
用C库 的宏
offsetof
------解决方案--------------------
#define offsetof(TYPE, MEMB) ((size_t) &((TYPE *)0)-> MEMB)
#define FIELD_OFFSET(t,f) ((LONG)&(((t*)0)-> f))
一曲
有一个C++语言写的 struct:
struct MSG_STRUCT
{
WORD CmdId;
DWORD Length;
char UserName[12];
char Content[256];
}
用哪一个运算符能得到最后一个变量Content在结构体中的偏移量呢?也就是说前三个变量总共的大小?
如果是一个很复杂的结构体呢,有没有最简单的办法
------解决方案--------------------
使用这个宏
#define FIELD_OFFSET(t,f) ((LONG)&(((t*)0)-> f))
------解决方案--------------------
用C库 的宏
offsetof
------解决方案--------------------
#define offsetof(TYPE, MEMB) ((size_t) &((TYPE *)0)-> MEMB)
#define FIELD_OFFSET(t,f) ((LONG)&(((t*)0)-> f))
一曲