按标准规定int的长度是16位或者32位,long是32位。
大部分C++编译器中int是32位,和long没有区别。但为了保证程序的通用性,当你想使用32位数据类型时,请使用long
(1)在VC下没有区别。两种类型均用4个字节存放数据。
(2)VC是后出的编译器,之前有很多早期的C编译器,在早期编译器下long int占4个字节,int占2个字节。
(3)之所以有“整型”和“长整形”两种不同类型,是C语言在诞生时发明者规定好的,前者存储的整数的值域小于后者。
这个问题不用牵肠挂肚,在VC下用谁都可以。
与编译器有关,在win32 程序里,即通过windows的编译器(vc++)编译的程序,int就是long ,都是32位整形值,可以自己加一些typedef定义定一些属于自己的类型,例如typedef short int
int16
int 是整型
long 是长整型
long的空间比int大
int只能定义数-32767到32767
大于这个范围用long定义
long的空间大 是int的一倍