C语言二维数组与指针

[复制链接]
查看11 | 回复3 | 2009-8-16 18:57:03 | 显示全部楼层 |阅读模式
B答案是正确的,因为二维数组名相当于二级指针,用二级指针(w)来表示元素的必须有两个(*)号:A*(*w+3) ()的优先级高于*,所以*w是列指针(一级指针) (*w+3)是列上加3,也就是移到第三列*(*w+3)就是第一行第三列的元素值B*(w+1)[4] ()和[]优先级相等,但自左至右结合,[]优先级高于*所以 w+1 是行指针移到下一行(用q来表示) *q[4]q[4] 是再往下移4行,我定义的数组时3行,所以越界啦,随机值。如果把4改为1就可以表示一个元素啦,即 *(w+1)[1]C*(*(w+1)) w+1是行指针下移一行 *(w+1) 列指针,再加一个*号,指元素D *(&w[0][0]+1) &...
回复

使用道具 举报

千问 | 2009-8-16 18:57:03 | 显示全部楼层
B...
回复

使用道具 举报

千问 | 2009-8-16 18:57:03 | 显示全部楼层
B...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行