【发布时间】:2016-06-01 17:40:47
【问题描述】:
为什么 C 和 C++ 中的基本类型没有像 Java 中那样严格定义,其中 int 始终为 4 个字节,long 为 8 个字节等。据我所知,C 和 C++ 仅定义了 char为 1 个字节,其他所有内容由不同的编译器定义不同。因此,C 和 C++ 中的 int 不必一定是 4 个字节,只要它比 short 长,并且 short 比 char 更长。
我只是想知道为什么会这样,它有什么用吗?
【问题讨论】:
-
如果您认为
char已定义,那么您还没有读到CHAR_BIT... -
你确定 short 比 char 长吗?我认为保证它不会小于 char,很多链接int 永远不会smaller 比long。
-
@DietrichEpp:EOF 的评论显然是关于 OP 认为一个
char等于一个字节意味着char始终具有相同的大小、范围和表示。 -
@FUZxxl 有 2 种语言是 C 和 C++,并且在这个问题上非常相似。一遍又一遍地重复相同的解雇commet而不考虑它是没有用的