数组名相当于一个指针,哪数组指针char *p[],不就变成一个二级指针?
3个回答
展开全部
数组名本身就是数组的首地址,相当于一个常量指针。
而char* p[n]是声明一个指针数组,即声明n个字符指针,当然每个元素指针都可以指向一个字符串。这里p代表的是一个字符指针数组的首地址常量指针,相当于二级指针。
而char* p[n]是声明一个指针数组,即声明n个字符指针,当然每个元素指针都可以指向一个字符串。这里p代表的是一个字符指针数组的首地址常量指针,相当于二级指针。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没错!p是指向指针的指针。p[i]是指向字符型数据的指针。而p[i]又等价于*(p+i).
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先数组指针一定要定义一个维数,例如char *p[3]
那么p就只能指向长度为3的数组,那么请问你还认为这是一个char **吗?至少编译器不这么认为!
那么p就只能指向长度为3的数组,那么请问你还认为这是一个char **吗?至少编译器不这么认为!
追问
不理解
追答
你可以定义
char *p[3];
char **x;
然后
x=p;
你看看能不能编译通过吧!如果编译不通过,这说明两者是不同的啊。
你还是需要自己理解差异,没有人可以把概念塞进你脑子里的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询