天天看點

《指針的程式設計藝術(第二版)》一第一章 記憶體的基本概念1.1 變量

本節書摘來自異步社群《指針的程式設計藝術(第二版)》一書中的第1章,第1.1節,作者 蔡明志,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

指針的程式設計藝術(第二版)

1-1 變量

1-2 一維數組

1-3 二維數組

1-4 結構

1-5 練習

當程式定義一個變量時,編譯程式根據其資料類型配置設定适當大小的記憶體給它,以便存儲資料。這就如同位址一般,郵差根據收件人的位址,将信件投入正确的信箱。

程式以變量名稱代表某一事項,就好比每一個人都有姓名一般。如果有人喊“蔡明志”,那我一定會說“到”,因為這個名字就代表我的意思。我們就從變量開始談起。請參閱範例address-3。

範例address-3

輸出結果

《指針的程式設計藝術(第二版)》一第一章 記憶體的基本概念1.1 變量

程式中有關x、y、z變量的位址,如下圖所示。

《指針的程式設計藝術(第二版)》一第一章 記憶體的基本概念1.1 變量

如果你想要知道變量所在記憶體的位址,隻要在變量前加上位址運算符(&)即可。我們一定要确實了解每一表達式(expression)所表達的意思是什麼,是變量所在的記憶體位址(address),還是變量值(value)。

如果要使用scanf函數,從鍵盤輸入資料給一個變量,需要注意哪些問題呢?我們以範例address-5來說明。

範例address-5

《指針的程式設計藝術(第二版)》一第一章 記憶體的基本概念1.1 變量

利用scanf函數,從鍵盤輸入資料給變量,要特别注意的是,scanf函數的參數是要指派變量的位址,是以,會用到位址運算符(&)。這好比郵差一定要根據收件人的位址,才能将這封信放到收件人的信箱。這麼打比方,是希望你能更好地了解位址的概念。程式中變量x與y的資料類型是double,是以其對應的格式都是%lf。

在此要特别提醒讀者的是,本書所輸出的記憶體位址會與你所得到的結果不同,因為我們使用不同的計算機裝置。使用位址的目的是讓你了解變量存儲位置。

繼續閱讀