STDDEF(3) | Library Functions Manual | STDDEF(3)

# NAME

`stddef` —
standard type definitions

# SYNOPSIS

`#include <stddef.h>`

# DESCRIPTION

The `<stddef.h>` header defines the following types and macros:

1. ptrdiff_t, a signed integer type of the result of subtracting two pointers;
2. size_t, an unsigned integer type of the result of the `sizeof`() operator;
3. 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;
4. `NULL`, which expands to an implementation-defined null pointer constant; and
5. `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.

# SEE ALSO

offsetof(3), stdlib(3), unistd(3)

# STANDARDS

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 C89”).

# 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.

April 10, 2011 | NetBSD 9.5