指针为什么是4个字节?

指针为什么是4个字节?,第1张

这个和你机器硬件和 *** 作系统的寻址空间有关系。如果在64位机器和 *** 作系统上面,指针是64位(8字节)。当然你也可以在64位 *** 作系统上面用32位兼容模式,那样就是4字节了。

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

你可以找找这段代码或相似代码

而我找到的和你的不同


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8929132.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存