複選題

23.下列 C++ 程式片段,何者可以取得變數 z 的值?

(A) z
(B)*p
(C) q
(D) *q

答案:登入後查看
統計: A(143), B(157), C(114), D(55), E(0) #2978915

詳解 (共 2 筆)

#5671031
int *p (宣告一個 p 指標) &...



(共 277 字,隱藏中)
前往觀看
10
0
#5989618

在圖片中的C++代碼中,有一個整數變量 z 被初始化為10,一個整數指針 p 被設置為指向 z,然後有一個整數 q 被設置為通過指針 p 解引用得到的值。

這段代碼的步驟如下:

  1. int z=10; 定義了一個整數 z 並將它初始化為10。
  2. int *p=&z; 定義了一個指針 p 並將它設置為指向 z 的地址。
  3. int &q=*p; 定義了一個對 p 指向的值的引用 q,這裡 q 成為了 z 的別名。


  • z 是變數本身,直接訪問它就會得到其存儲的值,也就是10。
  • p 是一個指針,指向 z 的地址。*p 是解引用操作符,它用來取得 p 指向的地址上存儲的值,也就是 z 的值。
  • q 被定義為 z 的引用,因為 p 是一個指向 z 的指針,*p 解引用了這個指針,得到 z 的值。q 經由引用設定後,實際上就是 z 的別名,所以 q 直接關聯到 z 並擁有相同的值。

    簡而言之,z、*p 和 q 都代表同一個值,都能取得或修改存儲在變數 z 中的值。

0
0