- /**
- * container_of - 通过结构体的一个成员获取容器结构体的指针
- * @ptr: 指向成员的指针。
- * @type: 成员所嵌入的容器结构体类型。
- * @member: 结构体中的成员名。
- *
- */
- #define container_of(ptr, type, member) ({ \
- const typeof( ((type *)0)->member ) *__mptr = (ptr); \
- (type *)( (char *)__mptr - offsetof(type,member) );})
这个宏的作用其实很简单,就是
通过一个容器(结构体)中某个成员的指针得到指向这个容器(结构体)的指针,简单的说就是通过成员找容器。
也就是 说 如果成员包含指针,那么 根据该成员来找时,传进去的应该是指针的指针。