C语言多级指针
若一个指针的基类型是另外一种指针,则称此为多级指针或指针的指针。
多级指针的定义形式为:
类型标识符**变量标识符; 相当于:
(类型标识符*)*变量标识符;
所定义的指针变量指向“类型标识符*”所描述的指针类型的数据。
例如:
int *q[5],* p=q;
q是一指针数组,p是指向数组q的指针变量,*p为q[O],*(p+1)为q[1],p为指针的指针。
多级指针的实际背景是利用指针来处理指针数组,此时指针变量指向数组的元素也是指针。
例将上例中的输出函数改用多级指针实现。
void output:(oname,n)/*用多级指针实现的输出函数*/
char*oname[];
int n:
{int i:
char**p;
p=oname;
for(i=O;i<n-1;i++)
{printf(”%10s\",*p);
p++;
}
}