可能重复:
为什么要在 offsetof() 中减去空指针?
当我阅读 apache 的源代码时,我有一个问题。
在 apr_general.h 中,存在如下定义:
#define APR_OFFSET(p_type,field) \
((long) (((char *) (&(((p_type)NULL)->field))) - ((char *) NULL)))
#endif /* !CRAY */
我很困惑为什么我们应该在这个操作中减去 ((char *) NULL))。
有没有人可以帮助我?