C 语言:类型转换与常量的细致理解
C 语言中的类型转换
有时,您必须将一种数据类型的值转换为另一种类型。这称为类型转换
隐式转换
当您将一种类型的值分配给另一种类型的变量时,编译器会自动进行隐式转换。
例如,如果您将一个 int
值分配给一个 float
类型:
如您所见,编译器会自动将 int
值 9 转换为 float
值 9.000000。
这可能是危险的,因为您可能会在某些情况下失去对特定值的控制。
尤其是如果相反的情况 - 以下示例会自动将 float
值 9.99 转换为 int
值 9:
0.99 发生了什么?我们可能想要在我们的程序中使用这个数据!所以要小心。您必须了解编译器在这些情况下的工作方式,以避免意外结果。
另一个例子,如果您将两个整数 5 除以 2,您知道结果是 2.5。正如您在此页面的开头所知,如果您将 sum
存储为整数,结果将只显示数字 2。因此,将 sum
存储为 float
或 double
会更好,对吗?
为什么结果是 2.00000 而不是 2.5?好吧,因为 5 和 2 在除法中仍然是整数。在这种情况下,您需要将整数值手动转换为浮点值(参见下文)。
显式转换
显式转换是通过在值之前放置类型括号 ()
来手动完成的。
考虑到我们上面示例中的问题,我们现在可以得到正确的结果:
您也可以将类型放在变量前面:
由于您在上一章中学习了“小数精度”,您可以通过删除多余的零(如果您愿意)使输出更清晰:
C 语言中的常量
如果您不想让其他人(或自己)更改现有变量的值,可以使用 const
关键字。
这将声明变量为“常量”,这意味着它不可更改,只读:
当您拥有不太可能改变的值时,应始终将变量声明为常量:
关于常量的注意事项
当您声明一个常量变量时,必须为其分配一个值:
常量在程序中可以提高代码的可读性,并防止在程序中无意中更改重要的值。
最后
为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding
,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、收藏、关注
版权声明: 本文为 InfoQ 作者【小万哥】的原创文章。
原文链接:【http://xie.infoq.cn/article/3519b279a007f403fdf95f448】。文章转载请联系作者。
评论