1 回答

TA貢獻(xiàn)1942條經(jīng)驗 獲得超3個贊
float score[][4] 這是定義一個指針數(shù)組,每個元素都是一個指針,指針類型是一個int[4]的數(shù)組,叫做數(shù)組指針。score也可以理解為二維數(shù)組。
score 是一個指針,它指向數(shù)組指針數(shù)組的首地址,也就是*score = score[0]={60,70,80,90} 那么*(score+1)就是score[1]={...} ,score[0],score[1]也是一個指針,它們指向int[4]數(shù)組的地址。 所以**socre才是具體的值
float (* pointer)[4] 定義一個數(shù)組指針*pointer
search(score+i) 也就是是依次傳入score[0] score[1] score[2]
search 函數(shù)中 *( *pointer+i)<60 :
*pointer+i 表示的是指針pointer 向后移動i位,那么*(*pointer+i)表示的是指針pointer 向后移動i位的值。所以這個表達(dá)式是在遍歷數(shù)組的值。比如傳進(jìn)來的參數(shù)是score+0它是指向socre[0]的指針,那么for循環(huán)遍歷的值就是60,70,80,90 如果遇到小于60的元素就返回該指針。
if( p==* (score+i) ) *(score+i)如前面所說是個指針,指向score[i] ,而p是search函數(shù)返回的指針,這是判斷兩個指針是否相同,是否指向同一個地址。
添加回答
舉報