在C语言中,如何从结构体的成员地址获取结构体的起始地址?
struct type1 {
//...
int member1;
//...
};
struct type1 obj1;
And ptr1
是会员的地址member1
in obj1
,如何定义
macro #define start_add(ptr1, type1, member1)
获取 obj1 的
起始地址?
您可以使用以下方法执行此操作offsetof http://en.wikipedia.org/wiki/Offsetof:
#define start_add(ptr1, type1, member1) ((type1 *)((char *)(ptr1) - offsetof(type1, member1)))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)