1. ホーム
  2. c

[解決済み] size_tの最大値を求めるポータブルな方法は何ですか?

2023-06-24 08:28:47

質問

私のプログラムが動作しているシステムでのsize_tの最大値を知りたいのです。 私の最初の直感は、このように負の 1 を使用することでした。

size_t max_size = (size_t)-1;

でも、もっといい方法とか、どこかに定数が定義されているのでは?

どのように解決するのですか?

C99には顕在定数(マクロ)が存在し、それは SIZE_MAX . C89/90ではそのような定数は存在しませんが。

しかし、あなたが元の投稿で持っているのは、完全に移植可能な方法であり、最大値を見つけるための size_t . これはどんな符号なし型でも動作することが保証されています。