The <stddef.h> include file defines the commonly used pointers, variables, and types, from typedef statements, as listed below:
| ptrdiff_t | typedef for the type of the difference of two pointers |
| size_t | typedef for the type of the value returned by sizeof |
| wchar_t | typedef for a wide character constant. |
<stddef.h> also defines the macros NULL and offsetof. NULL is a pointer that is guaranteed not to point to a data object. The offsetof macro expands to the number of bytes between a structure member and the start of the structure. The offsetof macro has the form:
offsetof(structure_type, member)
On OS/2 and Windows, in extended mode, <stddef.h> also contains definitions of the global variables errno and _threadid. errno is also defined in <stdlib.h> for extended mode, and in <errno.h> in ANSI mode.