Linuxカーネルのcontainer_of()マクロは次のように定義されています。
#define container_of(ptr, type, member) ({ \
const typeof( ((type*)0)->member) * __mptr =(ptr);\
(type*)( (char*)__mptr - offsetof(type,member) );})
なぜこれは((type*)0)->memberではなく、を使用するの(type*)->memberですか?