算出任意struct的某个成员的偏移量

转载 2007年10月02日 11:20:00
题目:定义一个宏,要求算出任意struct的某个成员的偏移量
 
#define get_struct_member_offside(stru, m)
(char *)&((stru*)0)->m
 
进一步,如果知道某个成员的地址、struct名和成员名,怎么求这个struct变量的地址呢?
 
可以这样:
#define get_struct_addr_from_member_addr(p, stru, m)
(struct stru*)( (char*)p - (char*)&( (( struct stru*)0)->m) )

相关文章推荐

得到一个field在结构体(struct type)中的偏移量

宏定义:得到一个field在结构体(struct type)中的偏移量 #define OFFSETOF(type, field) ((size_t)&(((type *)0)->field)...

写宏定义:得到一个field在结构体(struct type)中的偏移量。

#define OFFSETOF(type, field) ((size_t)&(((type *)0)->field))(type *)0:把0地址当成type类型的指针。((type *)0)->...

得到一个field在结构体(struct type)中的偏移量

from:http://blog.chinaunix.net/uid-21372424-id-120573.html 内联函数与宏定义   在C中,常用预处理语句#define来代替一个函数定义。例...

写宏定义:得到一个field在结构体(struct type)中的偏移量[转]

http://hi.baidu.com/tian_20032242/blog/item/77fd7afa5ffcc29d59ee90ba.html #define OFFSETOF(ty...

获取类成员偏移量

第一种方式是MFC里使用广泛的宏:对空对象成员取地址#define OFFSET(structure, member) ((int)&((structure*)0)->member); 正如我们平时通...

C++:获取类成员的偏移量

出自:http://blog.163.com/henan_lujun/blog/static/19538333201078111820803/ 第一种方式是MFC里使用广泛的宏:对空对象成员...

不实例化结构体获取结构体成员在结构体中的偏移量

OFFSET宏其实在我们数据采集程序里面yo

结构体成员偏移量的计算

一、先来一段理论知识         ANSI C标准允许任何值为0的常量被强制转换成任何一种类型的指针,并且转换结果是一个NULL指针,因此((s*)0)的结果就是一个类型为s*的NULL指针...

结构体成员偏移量,标准C其实有定义宏实现

结构体成员偏移量,标准C其实有定义宏实现今天看书了解到,坛子里已经不止一次有人提到这个问题了 #undef offsetof #ifdef __compiler_offsetof #define...
  • swgshj
  • swgshj
  • 2012-09-01 23:48
  • 1177

计算结构体成员偏移量

问题写一个宏计算出结构体成员的偏移量。 假设有如下一个结构体,要计算成员c的在结构体中的偏移量。typedef struct Type_t{ char a; // 0 int b;...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)