定义int a[2][3],*p[3];那么语句p=a和p[0]=a都错在哪?

单独的p和a分别表示什么?... 单独的p和a分别表示什么? 展开
 我来答
ryw12403
2008-03-22 · TA获得超过1898个赞
知道大有可为答主
回答量:2501
采纳率:0%
帮助的人:2071万
展开全部
*p[3] 是定义指针数组,由3个指向整型数组的指针元索。
a[2][3]是定义了一个二维数组。
p=a 类型不同,读出的数据会和你的期望值不同。
p[0]=a 也一样的错误

正确的应是 p[0]=&a[0][0]; p[1]=&a[1][0];

补充:p[0]=a[0], p[1]=a[1] 也可以。
因为a 是二维数组的首地址,a[0],a[1]可以看成是一维数组名,有四个元索。
isiahe
2008-03-22 · TA获得超过328个赞
知道小有建树答主
回答量:162
采纳率:0%
帮助的人:0
展开全部
int *p[3];
p是一个元素为指针的数组
p是数组名,不能被改变或赋值,所以 p=a是非法的。

p[0]是int*, a 是int[][], 不能转换。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
谢应宸
2008-03-22 · TA获得超过2640个赞
知道大有可为答主
回答量:2731
采纳率:66%
帮助的人:2102万
展开全部
p[3]是*p[3]的地址,p是指向p[0]这一行的首地址。而a是a[2][3]第0行第0列元素的地址,也就是&a[0][0],
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式