指针与数组
指针与数组的关系
指向数组的指针变量称为数组指针变量。一个数组就是一块连续的内存单元组成的,数组名就是这块连续内存单元的首地址。
一个数组元素的首地址就是指它所占有的几个内存单元的首地址。一个指针变量既可以指向一个数组,也可以指向一个数组元素。
可以把数组名或第一个元素的地址赋值给它。如要使指针变量指向第 i 号元素,可以把i元素的首地址赋予它,或把数组名加i赋予它。
设有数组a,指向a的指针变量为pa,则有以下关系:pa,a,&a[0]均指向同一单元,就是数组a的首地址,也是0号元素a[0]的首地址。
pa+1,a+1,&a[1],均指向1号元素a[1]。
类推可知,pa+i,a+i,&a[i]指向i号元素a[i]。pa是变量,而a,&a[i]是常量, 在编程时候需要注意。
指向数组的指针
类型说明符 *指针变量名
其中类型说明符表示指针数组的类型,从一般形式来看,指向数组的指针变量和指向普通变量的指针变量的说明是相同的。
引入指针变量后,就可以用两种方法访问数组的元素了。
例如:
int a[5];
int *pa = a;
第一种方法为下标法,即用pa[i]形式访问a的数组元素。
第二种方法为指针法,即采用*(pa+i)形式,用间接访问的方法来访问数组元素。

浙公网安备 33010602011771号