uintptr_t is an unsigned integer memsize type that can safely store a pointer inside itself, regardless of the platform bitness. The uintptr_t type is an analog of the size_t and UINT_PTR types. The type size depends on the data model being used.
The standard does not guarantee type availability (it is marked as optional). In other words, its presence depends on the language standard, compiler, and standard library being used.
You can learn more about memsize types and their usage in the following article "About size_t and ptrdiff_t".
0