int类型占几个字节

如题所述

在C语言中,一个 int 类型的变量通常占用 4 个字节(32 位)的内存空间。这个值可能会因不同的操作系统、编译器或硬件平台而有所不同。
不同的编译器,占据的字节也不同,具体如下表所示:
编译器可以根据自身硬件来选择合适的大小,但是需要满足约束:short和int型至少为16位,long型至少为32位,并且short型长度不能超过int型,而int型不能超过long型。
这即是说各个类型的变量长度是由编译器来决定的,而当前主流的编译器中一般是32位机器和64位机器中int型都是4个字节。
整数(int类型的常量)有几种书写形式,程序中的整数一般采用十进制写法。用十进制方式写出的一个整数就是普通数字字符组成的一个连续序列,其中不能有空格、换行或其他字符。C语言规定十进制表示的数字不能是0,除非要写的整数本身就是0。下面是一些整数的列子。
123 304 23278 1 0 906 。
由于长整数是另外一个不同类型的整数,所以C语言为长整数规定了一种专门写法,其特殊之处是在表示数值的数字序列最后附一个字母“L”或“l”作后缀。由于小写字母“l”容易与数字“1”混淆,建议读者采用大写的“L”,下面是一些长整数的例子。
123L 304L 25278L 1l 0L 906L。
依据程序编译器的不同,int定义的字节数不同。(数据占用内存储器的大小不同)
常用的单片机编译器,如KEIL下,51类单片机的C语言中,int代表2个字节(16位);如果是32位RAM处理器的C语言中,则int代表4个字节(32位)
PIC单片机的PICC中8位系列单片机的C语言里int表示16位。
而不少PC端软件的编译器则会根据操作系统或处理器(如64位XP)把int定义为8字节(64位)
所以在多平台上编程的人员需要在使用时注意。
如需定义16位数,可使用short(短、短整数类型)定义。
温馨提示:答案为网友推荐,仅供参考