VC6.0中int与long 两种数据类型有什么区别?
在MSDN上的解释是:
On 32-bit platforms, long is synonymous with int.
即:在32位机上,long与int同义。
不同的编译器会分配不同的空间,还跟计算机是多少位的有关,不过一般long是int的两倍长度。
long的定义是其所占用的存储空间大小不小于int。
long 和int只是(可能会)存储空间大小不同,而读取两者中的数据时使用的方法规则是一样的。
__int64 和long long是系统定义的两个基本类型的类型名 虽是两个不同类型名,其实本质类似于同一个类型的两个别名而已。
附加:
__int64(也是一种基本数据类型,是微软的virtual C++编译器定义的一种基本数据类型,而不是C++标准规范(协会)里定义的一种基本数据类型)也是由完全由编译器决定,固定大小为8字节,不受运行环境(的CPU和操作系统位数)影响。
===============================
C语言中整型常量有三种不同的表示形式:
1、八进制整型常量:在八进制数值前面加前缀“0”,其数码取值为0~7。例如:054、0567、05421。
2、十六进制整型常量:前缀为“0X”或“0x“,其数码取值为0~9、A~F 或 a~f。例如:0X3D、0XE0、0xfff等。
3、十进制整型常量:既无前缀也无后缀。例如:254、745、890等。 如将存储为long类型,需要在数字序列最后附一个字母L 或 l 作为后缀。例如:245L、7850L、124l等
当数据类型为long的变量后面没有L加会有什么后果?
http://bbs.csdn.net/topics/390416587?page=1
==================================