读书人

简单的有关问题小弟我就是不会关于

发布时间: 2012-02-16 21:30:36 作者: rapoo

简单的问题,我就是不会,关于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++

热点推荐