Chinaunix首页 | 论坛 | 博客
  • 博客访问: 87232
  • 博文数量: 60
  • 博客积分: 4002
  • 博客等级: 中校
  • 技术积分: 645
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-17 18:11
文章分类

全部博文(60)

文章存档

2011年(60)

我的朋友

分类: C/C++

2011-03-31 15:28:57

    ANSI C 在 中定义了offsetof() 宏, 用offsetof(struct s, f) 可以计算出域f 在结构s 中的偏移量。如果出于某种原因, 你需要自己实现这个功能, 可以使用下边这样的代码:

#define OFFSET(type, f) ((size_t)((char *)&((type *)0)->f - (char *)(type *)0))

这种实现不是100% 的可移植; 某些编译器可能会合法地拒绝接受。
阅读(304) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~