C语言中:若有定义语句:int a[4][10],*p,*q[4];且0≤i<4。

关于:语句:inta[4][10],*p,*q[4];且0≤i<4。小弟有几个问题想请教大侠!(1)*q[4]是几维数组?(2)p[i]=a[i]与p=a[i];这两个分... 关于:语句:int a[4][10],*p,*q[4];且0≤i<4。小弟有几个问题想请教大侠!
(1)*q[4]是几维数组?
(2)p[i]=a[i]与p=a[i];这两个分别怎么理解?

小弟在此谢过了!!!
展开
 我来答
百度网友c538630
2014-04-03 · 超过17用户采纳过TA的回答
知道答主
回答量:63
采纳率:0%
帮助的人:56.9万
展开全部
(1)与2维数组相似,但绝不是2维数组。它是一个指针数组,它的每一个元素均为一个地址
(2)如题,p是一个一级指针可等价于一维数组,你的第一个式子估计不会成立,原因:p[i]应该存放一个数据,而a[i]是二维数组a的第i列的首地址,类型不匹配(你的p也没有赋初值,是个野指针,即指向不确定空间,有的编译器可能能通过,不过运行会有问题),第二个式子的意思是把a的第i列的首地址赋值给p(此时p就相当于一个一维数组,它能访问a的第i列的元素);
追问
在式子p[i]=a[i]中,为什么不能理解把a的第i列的首地址赋值给p的第i值(p等价与一维数组)???
追答
p的第i个元素是一个数据,是一个确切的值,不能存放地址。地址一般用指针存放,比如你如果用q[i]就能存放地址
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式