C语言标准规定,int类型最少为2字节,long类型不能比int类型短。具体多长,由编译器自行决定。
一般,16位编译器(如老掉牙的Turbo C 2.0),int类型占2个字节,而现代32位编译器如Visual C++、gcc、Intel C/C++,int类型都是4字节的。所以如果为了编写可移植性的程序,不要对数据类型的长度做假设。
占用多少字节,主要取决于编译器。而不是多少位的软件和CPU,比如x86-64软硬件系统上,大多数int仍然是4字节长,比如微软的Visual C++在生成64位程序的时候就是如此。
这个多少位是指地址总线的长度,并不是int类型占用的位数。
是编译器定的... 基本数据类型(VC为例)主类型分类型修饰符占用空间表示范围整形整数形 intshort2字节-32768 ~ 32767long(默认)4字节-231 ~ (231 -1)unsigned short2字节0 ~ 65535
我个人认为INT长度只跟编译器有关。。