intptr_t - ポインタ型のサイズの符号あり整数型

intptr_tは、ポインタ型のサイズを持つ符号あり整数型です。たとえば、ポインタ型が32bitで表現される処理系であれば、32bit符号あり整数型、ポインタ型が64bitで表現される処理系であれば、64bit符号あり整数型として定義されます。intptr_tは、C99で導入されました。

汎用ポインタ型との相互の型変換

intptr_t型は、汎用ポインタ型「void*」と相互変換が保証されます。相互の変換でビット表現は、変わりません。

intptr_tとvoid*を相互変換するサンプルプログラムです。

#include <stdint.h>

int main(void) {
  void* ptr;
  
  intptr_t iptr = (intptr_t)ptr;
  
  void* ptr_again = (void*)iptr;
}

同じ用途として、ポインタ型のサイズの符号なし整数型「uintptr_t」があります。

Perlテキスト処理のエッセンス
  • 初級者向け・テキスト処理と正規表現の基本をマスター
業務に役立つPerl
  • 実務者向け・ログ解析など日本語を含むテキスト処理の実践!
Perlクラブ
  • 仲間と出会い
    ゆとりあるエンジニアライフを送る