必威体育Betway必威体育官网
当前位置:首页 > IT技术

int类型究竟占几个字节

时间:2019-06-17 22:45:17来源:IT技术作者:seo实验室小编阅读:53次「手机版」
 

int占几个字节

最近在看深入理解计算机系统这本书,上面提到了在32位机器和64机器中int类型都占用4个字节。后来,查了The C Programming language这本书,里面有一句话是这样的:Each compiler is free to choose appropriate sizes for its own hardware, subject only to the restriction that shorts and ints are at least 16bits, longs are at least 32bits, and short is no longer than int, which is no longer than long.意思大致是编译器可以根据自身硬件来选择合适的大小,但是需要满足约束:short和int型至少为16位,long型至少为32位,并且short型长度不能超过int型,而int型不能超过long型。这即是说各个类型的变量长度是由编译器来决定的,而当前主流的编译器中一般是32位机器和64位机器中int型都是4个字节(例如,GCC)。下面列举在GCC编译器下32位机器和64位机器各个类型变量所占字节数:

     C类型            32               64
    char             1                1
    short int             2                2
    int             4                4
    long int             4                8
    long long int             8                8
    char*             4                8
    float             4                4
    double             8                8

   需要说明一下的是指针类型存储的是所指向变量的地址,所以32位机器只需要32bit,而64位机器需要64bit。

以上文章来自:http://charlesxie.blog.51cto.com/2236179/939680由于写的太好了,所就直接摘了下来!

补充总结:

经过询问,网上查找以及测试,发现 数据类型占内存的位数实际上与操作系统的位数和编译器(不同编译器支持的位数可能有所不同)都有关,具体某种数据类型占字节数得编译器根据操作系统位数两者之间进行协调好后分配内存大小。具体在使用的时候如想知道具体占内存的位数通过sizeof(int)可以得到准确的答案。

相关阅读

国内可用的Internet时间同步服务器地址(NTP时间服务器)

阿里云提供了7个NTP时间服务器也就是Internet时间同步服务器地址ntp1.aliyun.comntp2.aliyun.comntp3.aliyun.comntp4.aliyun.com

JS解决clearInterval()函数不生效

每次,执行play函数的时候,let ctime,导致ctime并不是之前 setInterval返回的值。你可以在clearInterval(ctime)前执行 console.log(

ZGC窥探(翻译a first look into zgc)

ZGC目的是为了减少空间整理的耗时。像GC的基本算法里,标记清除算法就是不进行空间整理,会产生空间碎片。复制清除和标记整理算法都

window.setInterval()设置时间间隔执行其他.

<script>var p = document.getElementById('p');window.setInterval(function(){  var scrolltop = document.documentElement.s

管理者如何面对不确定性,环境变化的这几个重要特征你知

如何面对不确定性是我最近一直关注的主要话题之一,因为管理者在今天需要拥有的最重要的能力是:管理不确定性。以下是有关不确定性问

分享到:

栏目导航

推荐阅读

热门阅读