c语言中各种数据类型的长度


在32位平台和64位平台上,同一种数据类型可能有不同的数据长度:

类型 32位平台 64位平台
char 1 1
short 2 2
int 4 4
long 4 8
long long 8 8
float 4 4
double 8 8
size_t 4 8
ssize_t 4 8

 

 

 

 

 

 

 

 

 

 

 

 

 

看到没,

从上面的结果可以看到不同,所以不要假定上表内颜色背景行的数据长度,因为它是会变化的。

因为系统的函数会返回上述的这些值,所以必须知道他们的大小并进行相应的防错性转换。而另外的情况,你需要跨不同平台固定数据长度数据类型的话,可以使用一些定长的数据类型,这样子就不会混淆了,类似:

int8_t   int16_t   int32_t   int64_t

uint8_t   uint16_t   uint32_t   uint64_t


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM