數組指針和指向數組的指針的區別

實際工程中看代碼,傳入參數爲指針時,要注意看是否是數組,有沒有數組長度,有沒有對指針下一個地址的操作,這樣在不熟悉代碼的情況下寫單元測試纔不會出錯。


 int(*p) [2]    和  int* p[2]  的區別


 int(*p) [2]  : 

       實際上是一個二維數組,p是一個指針,指向一個數組,而數組其實又是一個地址,所以p等同於一個二維數組








p0x00FF
0x00FF存放一個數組,其實還是一個地址(0xFFFF)











0x0FFF
int值:1




int值:2









int* p[2] :

    實際上是一個數組(p),數組裏存放的是兩個指針(地址),指針指向的是一個int值(地址裏是一個int值)




p(0x0FFF) int指針:0x000E


 int指針:0x000E







0x000Eint值:1


0x000Fint值:2






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章