#define container_of(ptr, type, member) ({ \
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
(type *)( (char *)__mptr - offsetof(type,member) );})\
为什么我们需要在mptr
这里构造而不是ptr
直接转换为 a char*
?
#define container_of(ptr, type, member) ({ \
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
(type *)( (char *)__mptr - offsetof(type,member) );})\
为什么我们需要在mptr
这里构造而不是ptr
直接转换为 a char*
?