Это для определения смещения поля структуры. Он работает, используя 0 в качестве адреса структуры, а затем запрашивая адрес поля:
(type *)0
равно 0 в качестве указателя на type
&((type *)0)->member
является адресом member
члена этой гипотетической структуры. Если адрес структуры равен 0, то адрес члена совпадает со смещением от начала структуры.
((size_t)(&((type *)0)->member))
- это адрес, приведенный к size_t
для правильного типа смещения.