我无法理解,是什么创造的确切目的short
,int
以及long
在C数据类型?
我问的原因是,似乎它们的大小似乎没有界限-例如,它们可以是任意大小,只要short
小于即可int
。
那么,在哪种情况下,如果您不希望二进制兼容,则应该使用unsigned int
或unsigned long
而不是来代替size_t
?
(如果您不知道大小,那么您如何知道何时选择哪个?)
sizeof(short) == 2 * sizeof(char)
或类似的话也不?
sizeof(char) == sizeof(short)
,这很有意义。不幸的是,无法指定整数类型以使其适合所有 可能的平台和现有平台。
<stdint.h>