指針是C語言中很重要的一部分內容,可以說是C語言的精髓,但是指針在初學的時候確實比較難理解,尤其是與數組混在一起之后,很容易搞混淆。下面講解一下指針如何訪問數組,及注意事項。
首先看幾張圖。
上圖中,定義了一個int型數組,有4個元素,定義了指針變量p。p=&a[0]的意思是將首元素的地址賦值給指針變量。
p=a的意思是將首元素的地址賦值給指針變量。
*p=a的意思是將首元素的地址賦值給指針變量,在聲明的時候完成了賦值。
由以上可以看出,
數組名a代表的就是數組地址,所以
聲明時賦初值:
通過指針引用數組元素時:
必須要注意的是:
a:數組首元素的地址(每個元素都是int類型)。
a+2:數組的第3個元素的地址。
*(a+2):數組的第3個元素的地址
采用指針訪問數組時速度要快于直接訪問數組的下標,所以指針的效率要比數組高很多。