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)