int几个字节

Python013

int几个字节,第1张

不同的编译器,占据的字节也不同,具体如下表所示:

编译器可以根据自身硬件来选择合适的大小,但是需要满足约束: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。

在c语言中如果单独在代码出现一个数字的话,sizeof (0),里面的0,会被当作int型的常量处理,

所以是4个字节,

如果是'0', 这个才是一个英文字母,也就是char类型,按理说应该是1个字节了吧,这个可不一定,因为ASCII-C标准(也就是C89标准,最近的是IOS-C标准))里要求在处理字符类型的数据的时候要把类型提升为int处理,但这个规定不是所有的编译器都遵守,所以在windows的vc6.0编译器和linux系统下的gcc编译器sizeof('0')是4,unix-AIX系统的cc编译器的sizeof('0')是1(我在这些不同的系统下的这些编译器都试过了)

另外如果是0.0,会默认是double类型的常量,sizeof(0.0)是8

当然我说的这些都是在32位系统下的情况,32为的系统int型为4字节