天天看點

《編寫高品質代碼:改善c程式代碼的125個建議》——建議7:變量聲明應該力求簡潔

本節書摘來自華章計算機《編寫高品質代碼:改善c程式代碼的125個建議》一書中的第1章,建議7,作者:馬 偉 更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

對于“變量”這個詞語,相信大家再熟悉不過了,任何一種程式設計語言都離不開變量。變量是在記憶體或寄存器中用一個辨別符命名的存儲單元,可以用來存儲一個特定類型的資料,并且資料的值在程式運作過程中可以修改。例如:

int i;

上面這個語句定義了一個int類型的變量i,即它要求系統在記憶體中配置設定一個類型為int型的存儲空間。是以,執行語句“int i”後,記憶體中的映像可能會如圖1-38所示。

《編寫高品質代碼:改善c程式代碼的125個建議》——建議7:變量聲明應該力求簡潔

在32位計算機系統中,int型變量占用4個位元組(即圖1-38中編号為1245012~1245015的4個存儲單元)。當然,你也可以使用語句“sizeof(i)”得到存儲位元組。同時,還可以從圖1-38中看出,變量名實質是記憶體單元位址的一個符号,比如,變量i就代表着記憶體位址1245012,即變量所占記憶體單元的首位址。

由此可見,變量首先是一個辨別符或名稱,就像一個客房的編号一樣,有了這個編号我們在交流中就可以友善表達,否則,我們隻可意會,那多不友善。為了友善,我們在給變量命名時,首先,最好符合大多數人的習慣,基本可以望名知義,這就會便于交流和維護;其次,變量是唯一确定的對應記憶體若幹存儲單元或者某個寄存器的。當使用者使用變量時,其本質是通路該變量所對應的記憶體單元。

一旦定義了變量,那麼變量就至少需要為我們提供兩個資訊:一是變量的位址,即作業系統為變量在記憶體中配置設定的若幹記憶體的首位址;二是變量的值,即變量在記憶體中所配置設定的那些記憶體單元中所存放的資料。

是以,我們至少還需要給上面的變量i賦上一個初值,如下面的代碼所示:

上面的語句“i=100”表示将整型常量100儲存到i中,實質上是将100儲存到記憶體中以1245012為起始位址的4個存儲單元(即1245012~1245015)。是以,執行語句“i=100”後,可想象記憶體映像如圖1-39所示。

《編寫高品質代碼:改善c程式代碼的125個建議》——建議7:變量聲明應該力求簡潔

繼續閱讀