给出代码:
#include<stdio.h>
int main(void)
{
char *name[]={"Follow me","BASIC","Great Wall","FORTRAN","computer design"};//声明一个指针数组
char **p;//声明一个指向指针的指针
int i;
for(i=0;i<5;i++)
{
p=name+i;//首先把存放地址的一块内存区域都叫做指针,(如果不告知name是一个指针数组)则在name
//里面的每一个元素都存放的是对应的字符串的首地址,则p指向这些地址而不是一个确定的
//变量那么p就是指向了指针,就应该把p声明为**型指针
printf("%s\n",*p);//*p取的是name【i】中的值,也就是对应字符串的首元素的地址,如果这里写的是
//**p,那么取得就会直接是首元素
}
return 0;
}
plus:如果指针里面放的是确定变量的地址,就称为一级简址,如果放的是指向另一块区域的地址就称为二级简址