[dev]typeof, offsetof 和container_of
转一篇文章。写的比较好,浅显易懂,还画了图。
https://www.cnblogs.com/idorax/p/6796897.html
概况一下:
container_of用到了typeof和offsetof。
1. typeof是gcc的扩展,不是C标准操作符。
2. offsetof就是这样一个语句:
((size_t)&((TYPE *)0)->MEMBER)
转一篇文章。写的比较好,浅显易懂,还画了图。
https://www.cnblogs.com/idorax/p/6796897.html
概况一下:
container_of用到了typeof和offsetof。
1. typeof是gcc的扩展,不是C标准操作符。
2. offsetof就是这样一个语句:
((size_t)&((TYPE *)0)->MEMBER)