C++语言程序设计

数组元素也可以是指针类型，数组元素为指针的数组称之为指针数组。指针数组是一种很有用的数据结构，它使得数组元素可以指向不同的内存块，实现对不同大小的的内存块的数据统一管理。指针数组的一般定义形式为：
类型标识符 *指针数组[元素个数];
编译时，根据数组的大小为指针数组分配相应的内存空间。例如：
int *p[4];
定义了有4个指针元素的指针数组p，每个指针元素指向一个整型变量。给数组元素赋值时，是为每个元素赋一个整型变量的地址。指针数组的应用举例如下：

| 例7-8

#include <stdio.h>
void main( )
{
int a[2][3]={1,3,5,7,9,11};
int *pa[2], i, j;
pa[0]=a[0];
pa[1]=a[1];
for(i=0;i<2; i++)
for(j=0;j<3;j++,pa[i]++)
printf("a[%d][%d]=%d\n",i,j,*pa[i]);
return;
}

程序中，pa[0]=&a[0]表示将数组a第1行元素的首地址赋给指针数组pa[0]，所以也可以写成："pa[0]=&a[0][0]；"，使用了表达式：pa[i]++来修改指针数组pa所指向的数据。例如，当i=0时，通过pa[i]++便得到数组元素a[0][0]、a[0][1]和a[0][2]的地址。