指针可以指向基本类型,也可以指向复合类型,因此一个指针变量存放的可以是另一个指针变量的地址,则称这个指针变量为指向指针的指针变量。由于指针变量直接指向变量,所以称为“单级间址”。而如果通过指向指针的指针变量来访问变量则构成“二级间址”。
int i;
int *pi = &i;
int **ppi = π
这样定义之后,表达式*ppi取pi的值,表达式**ppi取i的值。
使用指向指针的指针。
int main(void){
char *strs[]={"Hello World!","itcast","CPrograme","Linux","Computer desighn"};
char **p;
int i;
for(i=0;i<5;i++){
p=strs+i;
printf("%s\n",*p);
}
}
strs是一个指针数组,它的每一个元素是一个指针型数据,其值为地址。