uj5u.com熱心網友回復:
你確定是選A而不是選Duj5u.com熱心網友回復:
d是錯的,因為a是二維uj5u.com熱心網友回復:
選A是對的,注意指標型別。p是int*型別,a是int(*)[3]型別(陣列指標),*(a+1)==*(&a[1])是int*型別(理解一下*a是什么型別)uj5u.com熱心網友回復:
*(a+1)指的什么呀 不太懂
uj5u.com熱心網友回復:
通俗易懂,二維陣列相當于是有**,所以必須要用雙重指標來指向它,比如**p,而不管是陣列還是指標前面加*就是相當于解碼一樣,二維陣列加了一個*,就相當于解了一重,相當于一維陣列了,可以用指標p指向它,如果陣列前加了兩個*,則就跟*p是同級的,取內容了。D選項的二維陣列可以用雙重指標char **p去指向它。uj5u.com熱心網友回復:
(a+1)是從地一層指標地址加一,如果按照陣列的方式就是
a0 a1 a2
b1 b2 b3
地址變為b1的地址,陣列這個二級地址是每行的首個資料是一層地址,陣列名是第一行第一列的地址
所以a+1就是首地址加一行的那個地址,此時還是二級的,取*變為一級指標賦給p
d選項主要p是一級指標,而a是二級地址
uj5u.com熱心網友回復:

二維陣列相當于指標的指標,而p是指標,所以D不對
uj5u.com熱心網友回復:
*(a+1) ---> a[1] ---> a[1][0]的地址D不對,是因為 a是二維(二級)地址,而 p是一維(一級)指標,它們不配合
uj5u.com熱心網友回復:
選A是對的,注意指標型別。p是int*型別,a是int(*)[3]型別(陣列指標),*(a+1)==*(&a[1])是int*型別(理解一下*a是什么型別)
uj5u.com熱心網友回復:
a是一個指向一個二維陣列的指標,p是一個指向int型別的指標,型別不同,所以D是錯的。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/25910.html
標籤:新手樂園
