簡體   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