C言語の整数型は処理系によってサイズが異なります。標準規格では、それぞれの整数型が少なくともどれだけの表現範囲を持っているか、そして、それぞれの整数型の間の表現範囲の大小関係だけが決められています。 整数型の中でも、int 型のサイズは 16 ビットと 32 ビットの処理系がそれなりに多く存在することもあり、入門書や解説書でも注意が促されることが多いようです。最近では long 型が 64 ビットの処理系もありますので、整数型のサイズを取り巻く状況はもう少し複雑になってきています。 そうした中、極力ソースコードの移植性を高めようということで、int 型のようにサイズがよくわからない型は使用せず、int16 型とか、int32 型のような型を定義して、「それらを使うべし」とするコーディング規約もよく見かけます。それで本当に、int 型のサイズに関する移植性の問題は解消されたのでしょうか? 残