繁体   English   中英

使用常量而不是数字 - c

[英]Using constants instead of numbers - 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 年后继续支持这个代码时。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM