|类型 |16位系统/字节 |32位系统/字节 |64位系统/字节|
|------------|---------|
|char|1|1|1|
|char*|2|4|8|
|short|2|2|2|
|int|2|4|4|
|long|4|4|8|
|long long|8|8|8|
注:
1、64位系统下,编译器为了向前兼容,将int类型自动编译为4个字节的了;
2、这些都是编译器来控制的,不同的编译器将int类型编译成不同长度的,所以,使用什么编译器才是重要的,比如:32位系统,tc下的int就是16位长度的,VC就是32位长度的。
3、long long是标准的8 bytes,不受编译器限制,所以,16位的依然也是8 bytes。
4、数据类型的字节数实际上主要由编译器决定(占多少位由编译器在编译期间说了算)。
指定基本类型完成了三项工作:
• 决定数据对象需要的内存数量;
• 决定如何结束内存中的位(long和float在内存中占用的位数相同,但将它们转换成数值的方法不同);
• 决定可使用数据对象执行的操作或方法;