可定义一个指针数组来储存指针,数组里边为几个指针,声明形式为
<类型名><*变量名>,
指针数组的初始化和数组一样可边声明边赋值,但不能初始化时直接赋值如以下为错误的初始化,p[3]={h,g,k}为错误的,可以一个一个初始化如 p[0]=h;p[1]=k;p[2]=l;为正确的,以下为边定义边赋值:
#include<stdio.h>
void main()
{
inth[3]={1,2,3},g[3]={4,5,6},k[3]={7,8,9},*p[3]={h,g,k},j,l;
for(j=0;j<3;j++)
{for(l=0;l<3;l++)
printf("%d",p[j][l]);
printf("\n");
}
}
以下为先定义后赋值:
#include<stdio.h>
void main()
{
inth[3]={1,2,3},g[3]={4,5,6},k[3]={7,8,9},*p[3],j,l;
p[0]=h;
p[1]=g;
p[2]=k;
for(j=0;j<3;j++)
{for(l=0;l<3;l++)
printf("%d",p[j][l]);
printf("\n");
}
}
这里指针仅能指向一维数组。