intptr_t
読み:イントポインター-アンダースコア-ティー
外語:intptr_t

 Cで、ポインター保持に充分な大きさの符号ありの整数型。C99(ISO/IEC 9899:1999)で追加された。
目次

概要
 ポインターを整数型変数に代入して演算し、再びポインター変数に戻すような処理はよく行なわれる。
 しかしその時の整数型変数をintやlongとすると、移植性が大きく損なわれる。
 そもそもそのような処理をするプログラムに移植性があるのかという問題はさておき、この目的で処理系の独自実装の型を用意する処理系も存在したが、C99から公式仕様として導入された。
 この型は、少なくともポインター長が保証される。

書式
 #include <stdint.h>

定義
 FreeBSDでは、次のように定義される。
 stdint.hまたはsys/stdint.h
 typedef __intptr_t intptr_t;
 machine/_types.h
 typedef int __int32_t;
 typedef __int32_t __intptr_t;
 つまり、32ビット環境のFreeBSDでは、間接的にintで定義される。

補足
 unsignedな関連型に、uintptr_tがある。

再検索