DESCRIPTION
The
.In stdint.h header provides source-portable integer types of a specific size, smallest memory footprint with a minimum size, fastest access speed with a minimum size, largest integer size, and those capable of storing pointers. The types
.Vt int8_t ,
.Vt int16_t ,
.Vt int32_t , and
.Vt int64_t provide a signed integer type of width 8, 16, 32, or 64 bits, respectively. The types
.Vt uint8_t ,
.Vt uint16_t ,
.Vt uint32_t , and
.Vt uint64_t provide an unsigned integer type of width 8, 16, 32, or 64 bits, respectively. These integer types should be used when a specific size is required.
The types
.Vt int_fast8_t ,
.Vt int_fast16_t ,
.Vt int_fast32_t , and
.Vt int_fast64_t provide the fastest signed integer type with a width of at least 8, 16, 32, or 64 bits, respectively. The types
.Vt uint_fast8_t ,
.Vt uint_fast16_t ,
.Vt uint_fast32_t , and
.Vt uint_fast64_t provide the fastest unsigned integer type with a width of at least 8, 16, 32, or 64 bits, respectively. These types should be used when access speed is paramount, and when a specific size is not required.
The types
.Vt int_least8_t ,
.Vt int_least16_t ,
.Vt int_least32_t , and
.Vt int_least64_t provide the smallest memory footprint signed integer type with a width of at least 8, 16, 32, or 64 bits, respectively. The types
.Vt uint_least8_t ,
.Vt uint_least16_t ,
.Vt uint_least32_t , and
.Vt uint_least64_t provide the smallest memory footprint unsigned integer type with a width of at least 8, 16, 32, or 64 bits, respectively. These types should be used when memory storage is of concern, and when a specific size is not required.
The type
.Vt intmax_t provides a signed integer type large enough to hold any other signed integer. The type
.Vt uintmax_t provides an unsigned integer type large enough to hold any other unsigned integer. These types are generally the largest signed and unsigned integer types available on a specific architecture.
The type
.Vt intptr_t provides a signed integer type with the ability to hold a pointer to
.Vt void , that can later be converted back to a pointer to
.Vt void .
The type
.Vt uintptr_t provides an unsigned integer type with the ability to hold a pointer to
.Vt void , that can later be converted back to a pointer to
.Vt void .
Additionally, the
.In stdint.h header defines some macros, but none of them are documented here.
STANDARDS
The
.In stdint.h header conforms to -isoC-99 and -p1003.1-2001.
HISTORY
The
.In stdint.h header was first introduced in
.Fx 5.0 .