==>从member地址找到结构体地址
#define container_of(ptr, type, member) ({ \
const typeof(((type *)0)->member) * __mptr = (ptr); \(type *)((char *)__mptr - offsetof(type, member)); })
#endif
==>找到member在结构体中offset
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
本文介绍了C语言中两个常用的宏定义:container_of用于从成员指针找到结构体地址,offsetof则用于确定成员在结构体中的偏移量。这些宏在内核编程和其他C语言项目中非常有用。

被折叠的 条评论
为什么被折叠?



