4
をリンク。 member
のオフセットをptr
から減算することはできませんか?このように:(のchar *)これはマクロ定義であるリストの実装
#define list_entry(ptr, type, member) \
((type *)((ptr)-(unsigned long)(&((type *)0)->member)))
ありがとう!
をリンク。 member
のオフセットをptr
から減算することはできませんか?このように:(のchar *)これはマクロ定義であるリストの実装
#define list_entry(ptr, type, member) \
((type *)((ptr)-(unsigned long)(&((type *)0)->member)))
ありがとう!
号ポインタ演算と等価である(すなわち、メモリの単位であるように)
ptr[addend]
ない
(ptr_type *)((unsigned long)&ptr + addend)
後者は、直接ポインタの値を操作するchar *
に明示的なキャストが必要。
あなたは '(unsigned long)&ptr 'を意味すると思います。 –
@ダニエルフィッシャー、確かに私はやった。修正してありがとう! – MSN