笔记:C语言数据类型在32位与64位机器上的字节数

读《深入理解计算机系统》

第二章 信息的表示与处理

32位与64位的典型值,单位字节

声明 32位机器   64位机器
char 1 1
short int 2 2
int 4 4
long int 4 8(4?)
long long int 8 8
char* 4 8
float 4 4
double 8 8

 

 

 

 

 

 

 

 

不过long int在VC中32与64位编译器均是4字节,貌似表格中数据也不算很典型啊,所以在vc下除了指针大小不同外,其他都没区别。

此外C99新增的long double在标准中只约束了其最小表示范围,比如FLT_MAX、DBL_MAX、LDBL_MAX规定的最低要求均为10^37,所以大多数编译器的double可以精确表示long double的所有值,例如msdn中说明long double the same as double,FLT_MAX=3.402823466e+38F,DBL_MAX=1.7976931348623158e+308

以上参考《C语言参考手册》第五版

你可能感兴趣的:(数据类型)