怎么用指針訪問數(shù)組元素?
指針是C語言中很重要的一部分內(nèi)容,可以說是C語言的精髓,但是指針在初學(xué)的時(shí)候確實(shí)比較難理解,尤其是與數(shù)組混在一起之后,很容易搞混淆。下面講解一下指針如何訪問數(shù)組,及注意事項(xiàng)。
首先看幾張圖。
上圖中,定義了一個(gè)int型數(shù)組,有4個(gè)元素,定義了指針變量p。p=&a[0]的意思是將首元素的地址賦值給指針變量。
p=a的意思是將首元素的地址賦值給指針變量。
*p=a的意思是將首元素的地址賦值給指針變量,在聲明的時(shí)候完成了賦值。
由以上可以看出,p=&a[0],p=a,*p=a 三者的含義是一致的。
數(shù)組名a代表的就是數(shù)組地址,所以p=&a[0],p=a,二者是等價(jià)的。
聲明時(shí)賦初值:
int *p=&a[0] 和 int *p=a是一致的。
通過指針引用數(shù)組元素時(shí):a[1]=*(p+1)。
必須要注意的是:
a:數(shù)組首元素的地址(每個(gè)元素都是int類型)。
a+2:數(shù)組的第3個(gè)元素的地址。
* (a+2):數(shù)組的第3個(gè)元素的地址。
采用指針訪問數(shù)組時(shí)速度要快于直接訪問數(shù)組的下標(biāo),所以指針的效率要比數(shù)組高很多。
以上就是這個(gè)問題的回答,感謝留言、評(píng)論、轉(zhuǎn)發(fā)。
更多精彩內(nèi)容請(qǐng)關(guān)注本頭條號(hào):玩轉(zhuǎn)嵌入式。感謝大家。