There are the following reasons for this - it conflicts with the OFFSETOF macro in the OS/2 header (Open Watcom) - it is compiler-specific and should use the C standard offsetof definition in the header file stddef.h - it is more transparent unique name