實際工程中看代碼,傳入參數爲指針時,要注意看是否是數組,有沒有數組長度,有沒有對指針下一個地址的操作,這樣在不熟悉代碼的情況下寫單元測試纔不會出錯。
int(*p) [2] 和 int* p[2] 的區別
int(*p) [2] :
實際上是一個二維數組,p是一個指針,指向一個數組,而數組其實又是一個地址,所以p等同於一個二維數組
p | 0x00FF | 0x00FF | 存放一個數組,其實還是一個地址(0xFFFF) | |||
0x0FFF | int值:1 | |||||
int值:2 | ||||||
int* p[2] :
實際上是一個數組(p),數組裏存放的是兩個指針(地址),指針指向的是一個int值(地址裏是一個int值)
p(0x0FFF) | int指針:0x000E | |||
int指針:0x000E | ||||
0x000E | int值:1 | |||
0x000F | int值:2 |