假設我們有以下的2維數組:爲什麼說一個2維數組是一個「指向指針的指針?」
int multi[3][3];
據我瞭解,我們可以說,multi
是一個「指針的指針」,或者 - 至少是 - 我們可以這樣做的followiong:
int **p_p_int = multi;
問題:我們爲什麼不說multi
是一個「指針的指針的指針的指針」,因爲向其第一元素的地址multi
點,這本身就指向一個點呃,它指向地址multi[0][0]
,它本身指向的值爲multi[0][0]
。
這似乎是對象指出(這裏我指望地址作爲指針)。
現在你可能會說「但地址不是指針,即使指針可以等於地址」,在這種情況下,它也似乎很奇怪,說2維數組是「指針指針」,因爲它是實際上是一個指向地址的指針,指向一個地址(指向一個值)。
我覺得我mananaged迷惑自己頗有幾分這裏:)
'int multi [3] [3];'衰變爲'int * [3]',就這樣。 –
只因爲你可以說出來,並不是真的。 –
@BenjaminLindley那有什麼不對? –