C语言指针问题163

来源:百度知道 编辑:UC知道 时间:2024/09/20 07:32:12
main()
{
char *name[]={"C Program","BASIC","Computer English","Word"};
char **p;
for(p=name;p<name+4;p++) 这里是p=name中可写成p=&name吗?
printf("%s\n",*p);
}

你为什么要那么写呢?
不行的,就像楼上说的,如果你一定想写p=&name的话,定义的时候要这么写:char ***p;否则报错;或者写p=&name[0]也是可以的,这样就和p=name一样了 .
而且根据这个程序的目的,也就是要显示四句话的地址,你写p=&name也实现不了啊...

不行,name已经是二维数组的基地址了。
但可以写成 &name[0];

不行,name已经是二维数组的基地址了,&name是什么?地址的地址?