C言語のsize_tとは何ですか? 質問する

C言語のsize_tとは何ですか? 質問する

size_tCで混乱していますsizeof。演算子によって返されることはわかっています。しかし、それは正確には何ですか? データ型ですか?

ループがあるとしますfor:

for(i = 0; i < some_size; i++)

int i;または を使用すればよいですかsize_t i;?

ベストアンサー1

Wikipediaより:

1999 ISO C 標準 (C99) によれば、size_t少なくとも 16 ビットの符号なし整数型です (セクション 7.17 および 7.18.3 を参照)。

size_tいくつかのC/C++標準、例えばC99 ISO/IEC 9899標準で定義されている符号なしデータ型であり、stddef.h1stdlib.hこのファイルは内部的に サブ をインクルードしているため、をインクルードすることでさらにインポートできますstddef.h

この型はオブジェクトのサイズを表すために使用されます。サイズを取得または返すライブラリ関数は、サイズが 型であるか、または の戻り値の型を持つことを想定していますsize_t。さらに、最も頻繁に使用されるコンパイラベースの演算子 sizeof は、 と互換性のある定数値に評価される必要がありますsize_t

暗黙的に、size_t任意の配列インデックスを保持することが保証された型です。

おすすめ記事