打印

C语言中不同的数据类型的长度和什么有关

[复制链接]
1266|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tmmdh|  楼主 | 2015-4-7 09:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,比如说同样是int型和long型,他们的长度到底和编译器有关还是和机器有关?
如果和编译器有关的话,不同的软件有不同的编译器吗,比如说我用不同的软件编译同样一段代码,长度会不一样吗?
如果和机器有关,是和用的电脑有关还是电脑操作系统有关?不同的电脑、不同的操作系统编译的长度不一样吗?还是说和你选的DSP、ARM、FPGA芯片的型号有关?是不是不同型号的DSP、ARM、FPGA芯片他们的长度也不一样呢?
一连串的疑问,坐等大牛解答!

相关帖子

沙发
njyangzhifei| | 2015-4-7 10:56 | 只看该作者
数据长度跟编译器和处理器都有关系。在学习C的时候,书上也会提醒你int类型变量在什么系统上是多长

使用特权

评论回复
板凳
cooldog123pp| | 2015-4-7 16:54 | 只看该作者
应该是和处理器有关,和编译软件也有关系。

使用特权

评论回复
地板
i55| | 2015-4-8 10:04 | 只看该作者
主要是跟机器有关,没见过同一种机器用不同编译器int长度不一样的。
唯一例外的是x86,djgpp的int是16位的,而mingw的int是32位的,不过前者是针对8086的,后者是针对386及以后的,也许不算是同一种机器。

使用特权

评论回复
5
vivilzb1985| | 2015-4-8 20:51 | 只看该作者
这个是需要多注意的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

30

帖子

0

粉丝