- 相關推薦
c語言數組指針變量的說明和使用
導語:指針變量可以進行某些運算,那么在運算中如何操作呢?讓我們了解一下C語言數組指針變量的說明和使用吧!
數組指針變量的說明和使用
指向數組的指針變量稱為數組指針變量。 在討論數組指針變量的說明和使用之前,我們先明確幾個關系。
一個數組是由連續的一塊內存單元組成的。 數組名就是這塊連續內存單元的首地址。一個數組也是由各個數組元素(下標變量) 組成的。每個數組元素按其類型不同占有幾個連續的內存單元。 一個數組元素的首地址也是指它所占有的幾個內存單元的首地址。 一個指針變量既可以指向一個數組,也可以指向一個數組元素, 可把數組名或第一個元素的地址賦予它。如要使指針變量指向第i號元素可以把i元素的首地址賦予它或把數組名加i賦予它。
設有實數組a,指向a的指針變量為pa,從圖6.3中我們可以看出有以下關系:
pa,a,&a[0]均指向同一單元,它們是數組a的首地址,也是0 號元素a[0]的首地址。pa+1,a+1,&a[1]均指向1號元素a[1]。類推可知a+i,a+i,&a[i]
指向i號元素a[i]。應該說明的是pa是變量,而a,&a[i]都是常量。在編程時應予以注意。
main(){
int a[5],i;
for(i=0;i<5;i++){
a[i]=i;
printf("a[%d]=%d/n",i,a[i]);
}
printf("/n");
}
主函數
定義一個整型數組和一個整型變量
循環語句
給數組賦值
打印每一個數組的值
......
輸出換行
......
數組指針變量說明的一般形式為:
類型說明符 * 指針變量名
其中類型說明符表示所指數組的類型。 從一般形式可以看出指向數組的指針變量和指向普通變量的指針變量的說明是相同的。
引入指針變量后,就可以用兩種方法來訪問數組元素了。
第一種方法為下標法,即用a[i]形式訪問數組元素。 在第四章中介紹數組時都是采用這種方法。
第二種方法為指針法,即采用*(pa+i)形式,用間接訪問的方法來訪問數組元素。
main(){
int a[5],i,*pa;
pa=a;
for(i=0;i<5;i++){
*pa=i;
pa++;
}
pa=a;
for(i=0;i<5;i++){
printf("a[%d]=%d/n",i,*pa);
pa++;
}
}
主函數
定義整型數組和指針
將指針pa指向數組a
循環
將變量i的值賦給由指針pa指向的a[]的數組單元
將指針pa指向a[]的下一個單元
......
指針pa重新取得數組a的首地址
循環
用數組方式輸出數組a中的所有元素
將指針pa指向a[]的下一個單元
......
......
下面,另舉一例,該例與上例本意相同,但是實現方式不同。
main(){
int a[5],i,*pa=a;
for(i=0;i<5;){
*pa=i;
printf("a[%d]=%d/n",i++,*pa++);
}
}
主函數
定義整型數組和指針,并使指針指向數組a
循環
將變量i的值賦給由指針pa指向的a[]的數組單元
用指針輸出數組a中的所有元素,同時指針pa指向a[]的下一個單元
......
【c語言數組指針變量的說明和使用】相關文章:
如何使用C語言數組指針09-14
C語言中指針與數組的區別10-09
C語言指針和數組基礎知識10-26
C語言變量的定義與使用09-05
C語言指針函數和函數指針詳解09-29
Swift與C語言指針結合使用實例09-21
C語言中指針變量作為函數參數詳解07-01
指向結構體類型數組的指針的使用08-05
c語言中指針的使用方法10-12
C語言中的指針和內存泄漏08-07