最後一行用來輸出的代碼,哪位大神能幫忙解釋一下(*p)[2]跟*(p[0]+1)。(*p)[3]不是一個指向數組的指針嗎?p[0]也是一個指針。只定義了一個指向數組的指針,沒有說p[0]或者p[n]指向誰,怎麼就能用(*p)[2]跟*(p[0]+1)來輸出30跟20的值?最好能幫幫我分析(*p)[2]跟*(p[0]+1)。
我認為p[0]是相當於 * (p+0),就是取了第一行的行地址,然後+1個,指向了這一行的第二個元素,最後 * 取出裡邊的內容就是20
而( * p)[2]則是首先取了第一行的行地址,然後+2取內容,就是這一行的第三個元素,就是30
我一直是這麼理解的。