intptr_t(3type) — Linux manual page

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | STANDARDS | HISTORY | NOTES | SEE ALSO | COLOPHON

intptr_t(3type)                                          intptr_t(3type)

NAME         top

       intptr_t, uintptr_t - integer types wide enough to hold pointers

LIBRARY         top

       Standard C library (libc)

SYNOPSIS         top

       #include <stdint.h>

       typedef /* ... */ intptr_t;
       typedef /* ... */ uintptr_t;

       #define INTPTR_WIDTH  /* ... */
       #define UINTPTR_WIDTH INTPTR_WIDTH

       #define INTPTR_MAX    /*  2**(INTPTR_WIDTH - 1) - 1  */
       #define INTPTR_MIN    /*  - 2**(INTPTR_WIDTH - 1)    */
       #define UINTPTR_MAX   /*  2**UINTPTR_WIDTH - 1       */

DESCRIPTION         top

       intptr_t is a signed integer type such that any valid (void *)
       value can be converted to this type and then converted back.  It
       is capable of storing values in the range [INTPTR_MIN,
       INTPTR_MAX].

       uintptr_t is an unsigned integer type such that any valid (void
       *) value can be converted to this type and then converted back.
       It is capable of storing values in the range [0, INTPTR_MAX].

       The macros [U]INTPTR_WIDTH expand to the width in bits of these
       types.

       The macros [U]INTPTR_MAX expand to the maximum value that these
       types can hold.

       The macro INTPTR_MIN expands to the minimum value that intptr_t
       can hold.

       The length modifiers for the [u]intptr_t types for the printf(3)
       family of functions are expanded by the macros PRIdPTR, PRIiPTR,
       and PRIuPTR (defined in <inttypes.h>); resulting commonly in
       %"PRIdPTR" or %"PRIiPTR" for printing intptr_t values.  The
       length modifiers for the [u]intptr_t types for the scanf(3)
       family of functions are expanded by the macros SCNdPTR, SCNiPTR,
       and SCNuPTR (defined in <inttypes.h>); resulting commonly in
       %"SCNuPTR" for scanning uintptr_t values.

STANDARDS         top

       C11, POSIX.1-2008.

HISTORY         top

       C99, POSIX.1-2001.

NOTES         top

       The following header also provides these types: <inttypes.h>.

SEE ALSO         top

       intmax_t(3type), void(3)

COLOPHON         top

       This page is part of the man-pages (Linux kernel and C library
       user-space interface documentation) project.  Information about
       the project can be found at 
       ⟨https://www.kernel.org/doc/man-pages/⟩.  If you have a bug report
       for this manual page, see
       ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.
       This page was obtained from the tarball man-pages-6.9.1.tar.gz
       fetched from
       ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on
       2024-06-26.  If you discover any rendering problems in this HTML
       version of the page, or you believe there is a better or more up-
       to-date source for the page, or you have corrections or
       improvements to the information in this COLOPHON (which is not
       part of the original manual page), send a mail to
       [email protected]

Linux man-pages 6.9.1          2024-05-02                intptr_t(3type)

Pages that refer to this page: intmax_t(3type)intN_t(3type)void(3type)