複選題
23.下列 C++ 程式片段,何者可以取得變數 z 的值?
(A) z
(B)*p
(C) q
(D) *q
答案:登入後查看
統計: A(143), B(157), C(114), D(55), E(0) #2978915
統計: A(143), B(157), C(114), D(55), E(0) #2978915
詳解 (共 2 筆)
#5989618
在圖片中的C++代碼中,有一個整數變量 z 被初始化為10,一個整數指針 p 被設置為指向 z,然後有一個整數 q 被設置為通過指針 p 解引用得到的值。
這段代碼的步驟如下:
- int z=10; 定義了一個整數 z 並將它初始化為10。
- int *p=&z; 定義了一個指針 p 並將它設置為指向 z 的地址。
- 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