0

重複の可能性:
offsetof()でnullポインターを減算するのはなぜですか?

apacheのソースコードを読んだときに質問があります。

apr_general.hには、次のような定義があります。

#define APR_OFFSET(p_type,field) \
    ((long) (((char *) (&(((p_type)NULL)->field))) - ((char *) NULL)))

#endif /* !CRAY */

この操作で((char *)NULL))を引く必要がある理由がわかりません。

私を助けることができるエニオンはありますか?

4

1 に答える 1

0

このトリックは、構造体の先頭からオフセット (ポインターではなく整数) を取得するために使用されます。

于 2012-09-20T19:41:30.143 に答える