それは/usr/include/stdint.h
で定義されています:intptr_tとは整数かポインタの型ですか?
typedef long int intptr_t;
は、それは、整数またはポインタの型ことになっていますか?
それは/usr/include/stdint.h
で定義されています:intptr_tとは整数かポインタの型ですか?
typedef long int intptr_t;
は、それは、整数またはポインタの型ことになっていますか?
これは、ポインタを保持するのに十分な大きさの符号付き整数型です。
価値があると指摘しているのは、32ビットと64ビットのプラットフォーム上でおそらく異なるサイズになると指摘している... – Goz
ポインタ/ポインタ/ – ninjalj
好奇心の邪魔をしているのはなぜですか? [u] intptr_tの署名付きバージョンと符号なしバージョンを持っていますか? – JohnTortugo
符号付き整数型で、void*
タイプを保持できることが保証されています。
また、なぜ[u]intptr_t
もありますか?なぜなら:
voidへの任意の有効なポインタが値に変化はないと
intptr_t
またはuintptr_t
とバックに変換することができます。 C標準 は、voidへのポインタがオブジェクトタイプへの ポインタへの変換、またはそれから戻って変換され、その結果が と元のポインタとの比較が必要であることを保証します。したがって、uintptr_t
をサポートする実装では、への を直接char *
ポインタからuintptr_t
に変換することは許可されています。
これはどこから引用されていますか? – Yotam
あなたは私を持っています。ここに:https://www.securecoding.cert.org/confluence/display/c/INT36-C.+Converting+a+pointer+to+integer+or+integer+to+pointer –
@Chris Lutz、どうですか? 'man intptr_t'は何もしません。 –
私は 'stdint.h'のマンページがあると思います。そして、常にGoogleがあります。 –