uintptr_t является беззнаковым целочисленным memsize-типом и способен безопасно хранить в себе указатель независимо от разрядности платформы. Тип uintptr_t является аналогом типов size_t и UINT_PTR. Размер типа зависит от используемой модели данных.
Доступность типа не гарантируется стандартом (помечен как optional). Другими словами, его наличие зависит от используемого стандарта языка, компилятора и стандартной библиотеки.
Подробнее с memsize-типами и их использованием можно познакомиться в статье "Что такое size_t и ptrdiff_t".
0