微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用常量而不是数字 - c

如何解决使用常量而不是数字 - c

我目前正在学习 c,我们的老师告诉我们不要在代码中使用纯数字,而应始终使用常量。

例如:

不要这样做:

if (age >= 18) {...}

这样做:

#define MIN_AGE 18
// ...
if (age >= MIN_AGE) {...}

他们没有向我们解释为什么要这样做,我很困惑。这实际上是推荐的吗?为什么?

解决方法

使用变量的原因是更易于维护和可视化。在没有您显示的变量的代码中,直接在 if 语句中更改值不会有太大问题,因为您只使用了一次。

if (age >= 18) {...}

因此,如果您需要将值更改为 17(例如),您可以这样做:

if (age >= 17) {...}

但是想象一下,如果您的代码中有更多 if 语句,如下例所示:

if (age >= 18) {...}
if (age >= 18) {...}
if (age >= 18) {...}

您需要在每条语句中一一更改它。使用变量会容易得多,因为您只需更改分配给变量的值:

#define MIN_AGE 17

并且所有其他 MIN_AGE 变量都已经正确:

if (age >= MIN_AGE) {...}
if (age >= MIN_AGE) {...}
if (age >= MIN_AGE) {...}

此外,MIN_AGE 的含义更容易理解,代码会更好地阅读和理解。

顺便说一句,抱歉我的英语不好!

,

这样做的目的是为变量命名。为什么18很特别?如果我们谈论在美国购买酒类,我们可能会有一个宏:

#define MIN_AGE_TO_PURCHASE_ALCOHOL 18

对于程序员来说,该字符串比仅仅 18 更容易理解。尤其是当您在 10 年后继续支持此代码时。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。