STDINT(3)

STDINT(3) | Library Functions Manual | STDINT(3)

# NAME

`stdint` —
standard integer types

# SYNOPSIS

`#include <stdint.h>`

# DESCRIPTION

The `<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 int8_t, int16_t, int32_t, and int64_t provide a signed integer type of width 8, 16, 32, or 64 bits, respectively. The types uint8_t, uint16_t, uint32_t, and 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 int_fast8_t, int_fast16_t, int_fast32_t, and int_fast64_t provide the fastest signed integer type with a width of at least 8, 16, 32, or 64 bits, respectively. The types uint_fast8_t, uint_fast16_t, uint_fast32_t, and 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 int_least8_t, int_least16_t, int_least32_t, and 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 uint_least8_t, uint_least16_t, uint_least32_t, and 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 intmax_t provides a signed integer type large enough to hold any other signed integer. The type 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 intptr_t provides a signed integer type with the ability to hold a pointer to void, that can later be converted back to a pointer to void.

The type uintptr_t provides an unsigned integer type with the ability to hold a pointer to void, that can later be converted back to a pointer to void.

# SEE ALSO

inttypes(3), limits(3), stdbool(3), unistd(3)

# STANDARDS

The `<stdint.h>` header conforms to ISO/IEC 9899:1999 (“ISO C99”) and IEEE Std 1003.1-2001 (“POSIX.1”).

# HISTORY

The `<stdint.h>` header was first introduced in NetBSD 1.6.

August 9, 2011 | NetBSD 9.0