Also, from the archives: http://www.mail-archive.com/[email protected]/msg12320.html
On Fri, Mar 9, 2012 at 7:21 PM, Vijay Chauhan <[email protected]>wrote: > Hi, > > I'm checking the container_of and offsetof macro > > #define container_of(ptr, type, member) ({ \ > const typeof( ((type *)0)->member ) *__mptr = (ptr); > (type *)( (char *)__mptr - offsetof(type,member) );}) > > #define offsetof(TYPE, MEMBER) \ > ((size_t) &((TYPE *)0)->MEMBER) > > > I did not understand the first line of both macro. Will it not create > the NULL pointer dereference problem? I know it works and read some > article but it did not explain this part, so can anyone explain why > the NULL pointer error is not coming. Am I missing something? > Any C language specification of such example. > > _______________________________________________ > Kernelnewbies mailing list > [email protected] > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > -- /manohar
_______________________________________________ Kernelnewbies mailing list [email protected] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
