3.12 如何确定域在结构中的字节偏移?

ANSI C 在 <stddef.h> 中定义了  offsetof() 宏, 用 offsetof(struct s, f) 可以计算 出域 f 在结构 s 中的偏移量。 如果出于某种原因, 你需要自己实现这个功能, 可以使用下边这样的代码:
	#define offsetof(type, f) ((size_t) \
	    ((char *)&((type *)0)->f - (char *)(type *)0))

这种实现不是 100% 的可移植; 某些编译器可能会合法地拒绝接受。

参考资料: [ISO, Sec. 7.1.6]; [Rationale, Sec. 3.5.4.2]; [H&S, Sec. 11.1 pp. 292-3]。

翻译朱群英、孙云, LaTeX2HTML 编译 朱群英 (2005-06-23)