C语言中的二维数组名是一个二重指针吗?

 我来答
瀚漠
推荐于2016-09-12 · 专注C语言发开,Linux系统相关
瀚漠
采纳数:309 获赞数:1288

向TA提问 私信TA
展开全部
不是

二级指针p也可以解释为指针的指针,即p内保存的值实际上还是一个指针,计算:
*p的值实际上是一个指针值,那么 *(*p)即二级指针指向的最终值

对于二维数组a[2][2],a也是一个地址,并且这个值也等于a[0],也等于a[0[0]的地址,即&a[0][0],由此看来对a取地址的值是一个变量值(不是指针),所以a并不是一个二级指针,最多算一个一级指针。
tattackor
推荐于2018-03-20 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:888万
展开全部
1、二维数组名不是二级指针,它只是一个比较特殊的常量指针。包括三维,四维,乃至N维数组也是如此。只要是数组,那么它就是一个普通的常量指针。
2、二级指针p也可以解释为指针的指针,即p内保存的值实际上还是一个指针,计算:
*p的值实际上是一个指针值,那么 *(*p)即二级指针指向的最终值。
对于二维数组a[2][2],a也是一个地址,并且这个值也等于a[0],也等于a[0[0]的地址,即&a[0][0],由此看来对a取地址的值是一个变量值(不是指针),所以a并不是一个二级指针,最多算一个一级指针。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2d08904
2013-01-06
知道答主
回答量:30
采纳率:0%
帮助的人:11.4万
展开全部
应该不是的,简单来说,数组名,不管是多少维度的都是采用名称代码表相应的存放地址。虽然二重指针也是存放数据的地址但是其是间接的存放。就打个比方,二重指针就如一个厂家有好多货要卖出去。而自己又没有销售渠道,只好通过代理商来提货,通过分销商来卖给消费者;二维数组就如厂家有货而且自己有渠道直接销往消费者。 不知这样说是否容易理解。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式