C語言數(shù)組元素的指針
指針變量既可以指向變量,也可以指向數(shù)組元素,所謂數(shù)組元素的指針就是數(shù)組元素的地址。
引用數(shù)組元素可以用下標(biāo)法,也可以用指針法,即通過指向數(shù)組元素的指針找到所需的元素。
在C語言中,數(shù)組名代表數(shù)組中首元素的地址,使用指針法能使目標(biāo)程序質(zhì)量高,因為其占內(nèi)存少,運(yùn)行速度快。
C語言在引用數(shù)組元素時指針的運(yùn)算
在一定條件下允許對指針進(jìn)行加和減的運(yùn)算。
當(dāng)指針指向數(shù)組元素時:
//例如
指針變量p指向數(shù)組元素a[0]
我們可以用用p+1表示指向下一個元素a[1]
在指針指向數(shù)組元素時,可以對指針進(jìn)行以下運(yùn)算:
- 加一個整數(shù),如p+1。
- 減一個整數(shù),如p-1。
- 自加運(yùn)算,如p++,++p。
- 自減運(yùn)算,如p--,--p。
- 兩個指針相減,如p1-p2,只有p1和p2都指向同一數(shù)組中的元素時才有意義。
C語言通過指針引用數(shù)組元素
1、下標(biāo)法
//如
array[i]
2、指針法
//如
*(array+i)或*(point+i)
其中array是數(shù)組名,point是指向數(shù)組元素的指針變量,其初值point=array。
3、用指針變量指向數(shù)組元素。
4、可以通過改變指針變量的值指向不同的元素。
5、要注意指針變量當(dāng)前的值。
C語言用數(shù)組名作函數(shù)參數(shù)
C語言調(diào)用函數(shù)時虛實結(jié)合的方法都是采用“值傳遞”方式,當(dāng)用變量名作為函數(shù)參數(shù)時傳遞的是變量的值,當(dāng)用數(shù)組名作為函數(shù)參數(shù)時。
由于數(shù)組名代表的是數(shù)組元素地址,因此傳遞的值是地址,所以要去形參為指針變量。
實參數(shù)組名代表一個固定的地址,或者說是指針變量,但形參數(shù)組名并不是一個固定的地址,而是按指針變量處理。
C語言通過指針引用多維數(shù)組
1、多維數(shù)組元素的地址
- 性質(zhì)與二維數(shù)組差不多,但需要注意的是,多維數(shù)組由于分配內(nèi)存情況不同,所顯示的地址可能是不同的。
2、指向多維數(shù)組元素的指針變量
- 指向數(shù)組元素的指針變量。
- 指向由m個元素組成的一維數(shù)組的指針變量。
3、用指向數(shù)組的指針作函數(shù)參數(shù)
- 一維數(shù)組名可以作為函數(shù)參數(shù),多維數(shù)組名也可以作函數(shù)參數(shù)。
- 用指針變量作形參,以接收實參數(shù)組名傳遞來的地址,有兩個方法:
- 用指向變量的指針變量。
- 用指向一維數(shù)組的指針變量。
C語言通過指針引用數(shù)組案例
#include//頭文件
int main()//主函數(shù)
{
int array[3]={1,3,4};//定義數(shù)組且初始化
int *point;
point=array;//數(shù)組名就是地址
for(int i=0;i<3;i++)
{
printf("%d\\n",(*point+i));//遍歷輸出
}
return 0;
}
編譯運(yùn)行結(jié)果:
1
2
3
--------------------------------
Process exited after0.04303 secondswith return value0
請按任意鍵繼續(xù). . .
-
C語言
+關(guān)注
關(guān)注
180文章
7614瀏覽量
137713 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4346瀏覽量
62971 -
數(shù)組
+關(guān)注
關(guān)注
1文章
417瀏覽量
26028
發(fā)布評論請先 登錄
相關(guān)推薦
評論