uintptr_t - ポインタ型のサイズの符号なし整数型
uintptr_tは、ポインタ型のサイズを持つ符号なし整数型です。たとえば、ポインタ型が32bitで表現される処理系であれば、32bit符号なし整数型、ポインタ型が64bitで表現される処理系であれば、64bit符号なし整数型として定義されます。uintptr_tは、C99で導入されました。
汎用ポインタ型との相互の型変換
uintptr_t型は、汎用ポインタ型「void*」と相互変換が保証されます。相互の変換でビット表現は、変わりません。
uintptr_tとvoid*を相互変換するサンプルプログラムです。
#include <stdint.h>
int main(void) {
void* ptr;
uintptr_t iptr = (uintptr_t)ptr;
void* ptr_again = (void*)iptr;
}
同じ用途として、ポインタ型のサイズの符号あり整数型「uintptr_t」があります。
C言語ゼミ


