TC是模拟的老的16位环境,所以是16位的。你的linux是32位,int就是32位。int的大小和具体的C编译器的实现有关系。可以是16,32,或者64位。你可以看看C语言的书里面有讲。不是固定大小的。
如果你想使用固定大小的整数类型,可以使用int32_t, 是一种扩展,在头文件pstdint.h里面可以找到。(不是C语言的标准,但实际中经常使用,很方便)。
因为头文件中还包含了对这段代码进行预编译,会先判断int 为多少位,如果 sizeof(int) == 2,系统会让int32_t为4位的 如:
typedef long int32_t
你可以找找这段代码或相似代码
而我找到的和你的不同
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)