为什么sizeof(5.0)我的机器为float数据类型分配了4个字节,因此返回8作为输出而不是4 ?默认情况下,是否考虑5.0为double(内存分配= 8个字节),如果是的话,为什么会这样呢?
小智 6
是.
N1570(最新的C11草案),§6.4.4.2p4:
未填充的浮点常量具有类型
double.如果用字母后缀f或者F,它已经输入float.如果用字母后缀l或者L,它已经输入long double.
至于你的" 为什么 "问题,在实践中,float由于其精度非常有限,很少有用,所以这个默认值"有意义".float如果您没有充分的理由(例如非常有限的内存限制),请不要费心使用.如果你真的需要一个float常数,写5.0f.
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |