不同编译器下同一种数据类型所占字节数不同

我们常常会碰到说在 32/64 位系统下,会出现同一种数据类型所占的字节数不同,这会给我们造成误区,会认为是根据我们电脑的操作系统 32/64 位来决定的,这是错误的!

32bit:普通的 x86 架构(i386,i586,i686)
64bit:指 x86_64 架构(AMD64,EM64T)

不同编译器下同一种数据类型所占字节数不同
准确的说,应该是与编译器位数有关,由 32/64 位编译器来决定数据类型所占字节。

比如:常用的 VC 6.0 是 32 位编译器(cl.exe)、VS2013 也是 32 位编译器
不同编译器下同一种数据类型所占字节数不同
注意:

(1)long 和 long int 的区别:无区别,long 是 long int 的简写。