c语言中,指针数组和行指针的区别是什么?

老师说:指针数组是每个元素都是一个指针,分别x维数组每一行的首地址。行指针是指向数组的指针。我怎么感觉都差不多呢?... 老师说:指针数组是每个元素都是一个指针,分别x维数组每一行的首地址。
行指针是指向数组的指针。
我怎么感觉都差不多呢?
展开
 我来答
藏天地
推荐于2018-05-07 · TA获得超过663个赞
知道小有建树答主
回答量:137
采纳率:0%
帮助的人:0
展开全部
int(*p)[4],这个就是行指针
这种类型的指针p是指向一个一维数组,这个一维数组包含4个整形元素
但是 int a[4];p=a; 这种方式却是不对的
因为p只能指向一个整型的一维数组,不能指向一个整型数据,a所指向的正是a[0],是个整型数;
实际上int(*p)[4]这种类型的指针是用于多维数组中的,比如定义一个二维数组int b[3][4],就可以这样赋值p=&b[0],使p指向一维数组b[0],而且p的增减是以一维数组的长度为单位的,比如p+1指向的就是b[1]了

int *p[4]这个是指针数组了,首先弄明白这个是数组,里面存放的是指针也就是地址,这个地址所指向的是一个整型数据,你可以把p[0],p[1]....当作一个个的指针变量来使用

我学的时候也弄了半天才搞明白,这是我总结的,你多看看指针那关于多维数组与指针的一节,做些练习自己验证几次就容易弄明白了
kamengod
2009-03-18
知道答主
回答量:12
采纳率:0%
帮助的人:7.3万
展开全部
简单的说就是一个是指向数组的指针,一个是数组成员是一族指针
具体哪个是哪个我也时常分不清楚。但用起来就知道了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式