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