两个重要的宏 offsetof 和 container_of

《朱老师物联网大讲堂》学习笔记

网站:www.zhulaoshi.org


#define offsetof(TYPE, MEMBER) ((int) &((TYPE *)0)->MEMBER)


#define container_of(ptr, type, member) ({ \
const typeof(((type *)0)->member) * __mptr = (ptr); \
(type *)((char *)__mptr - offsetof(type, member)); })


你可能感兴趣的:(两个重要的宏 offsetof 和 container_of)