The <stdint.h> include file declares sets of integer types that have specified widths and defines corresponding sets of macros. It also defines macros that specify limits of integer types corresponding to the types defined in other standard include files.
The following exact-width integer types are defined:
int8_t int16_t |
int32_t int64_t |
uint8_t uint16_t |
uint32_t uint64_t |
The following minimum-width integer types are defined:
int_least8_t int_least16_t |
int_least32_t int_least64_t |
uint_least8_t uint_least16_t |
uint_least32_t uint_least64_t |
The following fastest minimum-width integer types are defined:
int_fast8_t int_fast16_t |
int_fast32_t int_fast64_t |
uint_fast8_t uint_fast16_t |
uint_fast32_t uint_fast64_t |
The following greatest-width integer types are defined:
intmax_t uintmax_t |
The following macros are defined for limits of exact-width integer types (See note 1):
INT8_MAX INT8_MIN INT16_MAX |
INT16_MIN INT32_MAX INT32_MIN |
INT64_MAX INT64_MIN UINT8_MAX |
UINT16_MAX UINT32_MAX UINT64_MAX |
The following macros are defined for limits of minimum-width integer types (See note 1):
INT_LEAST8_MAX INT_LEAST8_MIN INT_LEAST16_MAX |
INT_LEAST16_MIN INT_LEAST32_MAX INT_LEAST32_MIN |
INT_LEAST64_MIN INT_LEAST64_MIN UINT_LEAST8_MAX |
UINT_LEAST16_MAX UINT_LEAST32_MAX UINT_LEAST64_MAX |
The following macros are defined for limits of fastest minimum-width integer types (See note 1):
INT_FAST8_MAX INT_FAST8_MIN INT_FAST16_MAX |
INT_FAST16_MIN INT_FAST32_MAX INT_FAST32_MIN |
INT_FAST64_MIN INT_FAST64_MIN UINT_FAST8_MAX |
UINT_FAST16_MAX UINT_FAST32_MAX UINT_FAST64_MAX |
The following macros are defined for limits of greatest-width integer types (See note 1):
INTMAX_MIN INTMAX_MAX UINTMAX_MAX |
The following macros are defined for limits for other integer types (See note 1):
PTRDIFF_MAX PTRDIFF_MIN SIG_ATOMIC_MAX |
SIG_ATOMIC_MIN SIZE_MAX WCHAR_MAX |
WCHAR_MIN WINT_MAX WINT_MIN |
The following macros are defined for minimum-width integer constant expressions (See note 2):
INT8_C INT16_C |
INT32_C INT64_C |
UINT8_C UINT16_C |
UINT32_C UINT64_C |
The following macros are defined for greatest-width integer constant expressions (See note 2):
INTMAX_C UINTMAX_C |