指针数组,就是说首先是一个数组,而数组的元素是指针,也就是说,如果数组元素都是相同类型的指针,则称这个数组为指针数组。所谓相同类型的指针是说指针所指向的对象类型是相同的。一维指针数组的定义形式为:
指针数组中的每一个元素均为指针,即有诸形如“ptr_array[i]”的指针。由于数组元素均为指针,因此ptr_array[i]是指第i+1个元素的指针。 [2]
例如二维指针数组的定义为:char *ptr_array[3][3]={{“asdx”,“qwer”,“fdsfaf”},{“44444”,“555”,“6666”},{“a78x”,“q3er”,“f2f”}};
为了理解指针数组的定义,我编写了以下程序。
#include <stdio.h>
int main()
{
char *p[5]={"d","dd","ddd","dddd","ddddd"};
int i;
for(i=0;i<5;i++)
printf("%s\n",p[i]);
return 0;
}