C++语言程序设计

首先明确一下数组和指针的关系。
数组是具有相同类型的一组变量的有序集合，数组元素存放在一段连续的内存区域里，每个元素占用的内存单元大小相同，数组名就是数组所占存储区域的首地址，也就是指向该数组第一个元素的地址（指针）。
在C++中，指针和数组是紧密相关的两种数据类型，它们计算地址的方法相同。数组的元素可以用下标表示，也可以用指针表示。假定一个指针变量指向数组，就能用该指针访问数组里的元素，用指针访问数组元素与用数组下标访问数组元素的效果是一样的。
下面的程序可以说明如何使用指针访问数组元素：

| 例7-7

#include <iostream.h>
#define SIZE 10
void main()
{
int array[SIZE];
int *p=array;
int i ;
for(i=0;i<SIZE;i++)
array[i]=i;
for(i=0;i<SIZE;i++)
cout<<*p++<<endl;
p=&array[8];
cout<<"array[8]="<<*p<<endl;
cout<<"array[8]="<<array[8]<<endl;
}

这个程序首先声明了一个大小为SIZE的整型数组array和一个整型指针p，并且把数组的首地址赋给p。接着，对各数组元素赋值，并用指针p输出该数组元素。*p实现了对p所指向的数组元素的访问，p++使p指向下一个数组元素，*p++就是访问下一个数组元素。最后，将array[8]的地址赋给p，并输出了array[8]和*p，它们的结果是一样的，都是对数组array第9个元素的访问。