26

Cでshort int(またはshort)とintはどう違うのですか? それらは同じサイズと範囲を持っています。それらが本質的に同じである場合、2 つのデータ型を持つことの用途は何ですか?

4

10 に答える 10

31

理論上/C 標準では、16 bit <= short <= int.

現実の世界では、これがサイズの実装方法です。

CPU             short   int
8 bit           16      16
16 bit          16      16
32 bit          16      32
64 bit          16      32
于 2012-09-05T11:17:51.060 に答える
31

サイズは同じかもしれませんが、int以上であることが保証されていshort intます。

于 2012-09-05T10:10:11.583 に答える
5

データ型が C で指定されたサイズであることに依存しないでください。疑わしい場合は、常に limits.h の境界を確認してください。

于 2012-09-05T10:15:38.127 に答える
1

システムによります。一部の OS では、両方のタイプの長さが同じではありません。

于 2012-09-05T10:11:53.117 に答える
1

実際、すべてはコンパイラとシステムの両方に依存します。しかし、基本的なルールでは、int が short よりも小さくなったり、long よりも大きくなったりすることはありません。

short <= int <= long

于 2012-09-05T10:35:17.153 に答える
0

「あるプログラミング言語の短い整数は、異なる言語または異なるプロセッサでは異なるサイズになる場合があります。一部の言語では、このサイズはプラットフォーム間で固定されていますが、他の言語ではマシンに依存しています。一部の言語では、このデータ型は存在しません全然。」

ソース

于 2012-09-05T10:11:23.223 に答える