The <stddef.h> header defines the following types and macros:
ptrdiff_t, a signed integer type of the result of subtracting two pointers;
size_t, an unsigned integer type of the result of the sizeof() operator;
wchar_t, an integer type whose range of values can represent distinct wide-character codes for all members of the largest character set specified among the supported locales: the null character has the code value 0 and each member of the character set has a code value equal to its value when used as the lone character in an integer character constant;
NULL, which expands to an implementation-defined null pointer constant; and
offsetof(), a macro that expands to an integer constant as described in offsetof(3).
Some of the described types and macros may appear also in other headers.
As described here, the <stddef.h> header conforms to ISO/IEC 9899:1999 (“ISO C99”) and IEEE Std 1003.1-2001 (“POSIX.1”). Some of the types and macros conform to earlier standards such as ANSI X3.159-1989 (“ANSI C”).
HISTORY
In the current form the <stddef.h> header was introduced in NetBSD 0.8, the first official release of NetBSD. Some definitions such as NULL were first introduced already in the <nsys/param.h> header of Version 4 AT&T UNIX.