若有定义: int a[2][3];则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素值的正确引用为( )。

A)*(*(a+i)+j)B)(a+i)[j]C)*(a+i+j)D)*(a+i)+j... A)*(*(a+i)+j) B)(a+i)[j] C)*(a+i+j) D)*(a+i)+j 展开
 我来答
小溪趣谈电子数码
高粉答主

2020-07-14 · 专注解答各类电子数码疑问
小溪趣谈电子数码
采纳数:2103 获赞数:584611

向TA提问 私信TA
展开全部

答案为A项。元素值的正确引用为*(*(a+i)+j)。

这个题目主要是考查二维数组元素的引用方法。选项A中a+i指向数组a的第i+1行,*(a+i)则是第i+1行第0列的地址值,*(a+i)+j指向了数组a第i+1行,j+1列,*(*(a+i)+j)取到的是数组a的a[i][j]元素。所以正确答案为A项。

扩展资料

二维数组的声明与赋值:

二维数组的声明方式和一维数组类似,内存的分配一样是通过new关键字开辟。特别需要注意的是,定义的时候不需要定义数组的长度,因此在中括号中不需要填入任何的内容。此外,在大括号内还有几组大括号,每组的大括号内的初值会依序指定给数组的第0、1...n行元素。

在数组进行引用传递的处理中,最为常见的形式就是基于方法进行引用数据的处理或返回。二维数组像是一个表格,有行有列。二维数组的声明和一维数组一样,需要通过new开辟空间。二维数组的声明有动态初始化和静态初始化。二维数组可以通过方法接收、返回和修改数组内容。


参考资料来源:

百度百科-二维数组

dongyue2008
推荐于2017-12-16 · TA获得超过3602个赞
知道大有可为答主
回答量:1300
采纳率:100%
帮助的人:578万
展开全部
选 A。
因为 a 是地址的地址(或者说指针的指针),所以必须用到两次 * 才可以。
*(a+i) 相当于 a[i],*(*(a+i)+j) 就相当于 a[i][j]。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
松甜恬0Je4ba
2011-06-15 · TA获得超过2.6万个赞
知道大有可为答主
回答量:7475
采纳率:100%
帮助的人:3291万
展开全部
A
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式