【电子资讯】数组指针和指向数组的指针变量
一个数组包含若干个元素,每个数组元素都在内存中占有一个或一个以上的存储单元.因此每一个元素都有相应的地址。所谓数组的指针是指数组的起始地址,数组元素的指针是数组元素的地址。引用数组元素可以用下标法,如a[1];也可以使用指针法,即通过指向数组元素的指针找到所需的元素。使用指针法能使生成的目标程序质量更高(占内存少,运行速度快)。
1.指向数组元素的指针
一个数组是由连续的一块内存单元组成的。数组名就是这块连续内存单元的首地址。一个数组也是由各个数组元素组成的,每个元素也有相应的地址。
定义一个指向数组元素的指针变量的方法与以前介绍的指针变量相同,例如:
i11t X[5]; //定义x为包含5个整型数据的数组
int*p; //定义P为指向整型变量的指针
P =&x[o]; //对指针P赋值
p=x; //对指针P赋值
C语言规定,数组名代表数组的首地址,也就是第0号元素的地址。因此,语句“p=&x[o];"和“P—Xl"是等价的。还可以在定义指针变量时赋给初值
int*p=&X[o]; //(或者int*D:x:)
等价于:
int*p;
P=&x[o];
上述程序清单中,p、x、&X[0]均指向同一单元,它们都是数组x的首地址,也是。号元素xL[03的首地址。
数组指针变量说明的一般形式为:
类型说明符 *指针变量名;
其中,类型说明符表示所指数坌且的类型。指向数组的指针变量和指向普通变量的指针变量的定义是相同的。
电子街推荐