- int *a[10] 这个是指针数组,数组a中有10个整型的指针变量;a[0] ~a[9]
- int (*a)[10] 这个是数组指针,指向一个数组,+1是指向下个数组;
- int **p 保存指针的地址;
常见用法1:
int **p;
int *q;
p = &q;
常见用法2:
int **p;
int *q[10];
q是指针数组的名字,是指针数组的首地址,是q[0]的地址;q[0]是int * 类型的指针,所以q[0] 指针变量的地址,是int ** 类型;
p = &q[0];
等价于 p = q;
void fun(char **p)
{
int i;
for (i = 0;i < 3;i++)
{
printf("%s\n",p[i]);
}
}
int main()
{
char *q[3] = {"hello","world","China"};
fun(q );
return 0;
}