-5
我經常看到C++程序帶有一個指向變量的指針,即** i。這是什麼意思,爲什麼它被使用。不能,我們只使用一個指針而不是那個。單指針和指針指針之間的區別是什麼?請解釋每一步。謝謝。指針指針是什麼意思?
我經常看到C++程序帶有一個指向變量的指針,即** i。這是什麼意思,爲什麼它被使用。不能,我們只使用一個指針而不是那個。單指針和指針指針之間的區別是什麼?請解釋每一步。謝謝。指針指針是什麼意思?
變量佔用一些空間來存儲。這個空間來自內存。假設您的堆棧(內存)開始於0x12 34 56 78
和你有一個整數a
值爲4
:
int a = 4;
你的記憶可能是這樣的:
0x12 34 56 78: 0x00 00 00 04 (a)
現在,假設你也有一個指針a
:
int a = 4;
int* p = &a;
你的記憶將如下所示:
0x12 34 56 78: 0x00 00 00 04 (a)
0x12 34 56 7c: 0x12 34 56 78 (p)
現在,假設你有一個指針p
:然後
int a = 4;
int* p = &a;
int** q = &p;
你的記憶將是這樣的:
0x12 34 56 78: 0x00 00 00 04 (a)
0x12 34 56 7c: 0x12 34 56 78 (p)
0x12 34 56 80: 0x12 34 56 7c (q)
您可以從q
通過以下地址得到p
到a
。指針是一個間接的層:它們指定某物的位置,而不是它是什麼。
每一步是什麼?而指針指針只是一個普通的指針。它的一個指針恰好指向指向一塊內存的東西 – DTSCode
一個說「襪子在牀下」的郵件和一個說「襪子的方向在郵件上的郵件之間有什麼區別」冰箱」? –
想象一下數組。數組是一行指向一堆項目的指針。現在想象一個指向數組的指針 - 這是一個指向指針的指針。 –