跳轉到內容

程式設計基礎/地址運算子

來自華夏公益教科書,開放的書籍,開放的世界

介紹 C++ 程式語言中使用的地址運算子。

C++ 中的地址運算子

[編輯 | 編輯原始碼]

"每個變數都被分配了一個記憶體位置,可以使用地址運算子 & 獲取其地址。記憶體位置的地址稱為指標。執行程式中的每個變數都被分配了一個足夠大的記憶體區域來儲存該變數型別的值."[1] 因此,無論是全域性範圍變數使用資料區進行儲存還是區域性範圍變數使用堆疊進行儲存;都可以詢問該變數在記憶體中的地址。給定一個名為 age 的整型變數

int age = 47;

可以使用地址運算子(即 &)來確定它在記憶體中的位置(或其地址)

&age

此表示式是一個指標資料型別。地址和指標的概念是一樣的。指標指向記憶體中的位置,因為指標的值是在記憶體中存放資料項的地址。

地址運算子通常以兩種方式使用

  1. 進行按引用傳遞引數
  2. 建立指標的值

這兩個專案都在本模組的補充連結中介紹。

可以使用以下程式碼打印出地址的值

cout << &age;

這將預設以十六進位制列印值。有些人更喜歡整數值,要以整數值列印,需要將地址強制轉換為 long 資料型別

cout << long(&age);

另一個小細節是,陣列的名稱本身就是指向陣列第一個元素的指標。因此

int iqs[] = {122, 105, 131, 97};

將 "iqs" 作為指向陣列的指標。

地址運算子
符號 &。
指標
一個變數,其值為地址。

參考文獻

[編輯 | 編輯原始碼]
  1. Tony Gaddis, Judy Walters and Godfrey Muganda, Starting Out with C++ Early Objects Sixth Edition (United States of America: Pearson – Addison Wesley, 2008) 597.
華夏公益教科書