size_t
Cで混乱していますsizeof
。演算子によって返されることはわかっています。しかし、それは正確には何ですか? データ型ですか?
ループがあるとしますfor
:
for(i = 0; i < some_size; i++)
int i;
または を使用すればよいですかsize_t i;
?
ベストアンサー1
1999 ISO C 標準 (C99) によれば、
size_t
少なくとも 16 ビットの符号なし整数型です (セクション 7.17 および 7.18.3 を参照)。
size_t
いくつかのC/C++標準、例えばC99 ISO/IEC 9899標準で定義されている符号なしデータ型であり、stddef.h
1stdlib.h
このファイルは内部的に サブ をインクルードしているため、をインクルードすることでさらにインポートできますstddef.h
。この型はオブジェクトのサイズを表すために使用されます。サイズを取得または返すライブラリ関数は、サイズが 型であるか、または の戻り値の型を持つことを想定しています
size_t
。さらに、最も頻繁に使用されるコンパイラベースの演算子 sizeof は、 と互換性のある定数値に評価される必要がありますsize_t
。
暗黙的に、size_t
任意の配列インデックスを保持することが保証された型です。