若有定义:int a[2][3];则对a数组的第i行第j列元素值得正确引用为

153、若有定义:inta[2][3];则对a数组的第i行第j列元素值得正确引用为()A、*(*(a+i)+j)B、(a+i)[j]C、*(a+i+j)D、*(a+i)+... 153、 若有定义:int a[2][3];则对a数组的第i行第j列元素值得正确引用为( )
A、*(*(a+i)+j) B、(a+i)[j] C、*(a+i+j) D、*(a+i)+j
展开
 我来答
iiiiiiiipl
2019-07-10 · TA获得超过9921个赞
知道答主
回答量:68
采纳率:66%
帮助的人:3.7万
展开全部

*(*(a+i)+j) 。

a是二维数组名,也是二维数组0行的首地址。a[0]是第一个一维数组的数组名和首地址*(a+0)或*a是与a[0]等效的,它表示一维数组a[0]0号元素的首地址。&a[0][0]是二维数组a的0行0列元素首地址。

同理,a+1是二维数组1行的首地址,由此可得出:a+i,a[i],*(a+i),&a[i][0]是等同的。此外,&a[i]和a[i]也是等同的。

另外,a[0]也可以看成是a[0]+0是一维数组a[0]的0号元素的首地址,而a[0]+1则是a[0]的1号元素首地址,由此可得出a[i]+j则是一维数组a[i]的j号元素首地址,它等于&a[i][j]。

由a[i]=*(a+i)得a[i]+j=*(a+i)+j,由于*(a+i)+j是二维数组a的i行j列元素的首地址。因此,该元素的值等于*(*(a+i)+j)。

扩展资料:

两个地方要注意: 

1、在程序声明变量的时候的*,只是表明“它是一个无符号整数,这个整数指向某个内存地址,一次访问sizeof(type)长度”。这点不要和(*)操作符混淆;

在C++程序声明变量的时候的&,只是表明“它是一个引用,这个引用声明时不开辟新空间,它在内存分配表加入新的一行,该行内存地址等于和调用时传入的对应参数内存地址”。

这点不要和(*)声明符,(&)操作符混淆。

参考资料:

百度百科-数组指针

百度百科-指针

小洛答疑

2020-05-20 · TA获得超过2.2万个赞
知道大有可为答主
回答量:5.2万
采纳率:84%
帮助的人:1136万
展开全部

*(*(a+i)+j) 。

A是二维数组的名称和二维数组第0行的第一个地址。A[0]是第一个一维数组的数组名和第一个地址*(A+0)或*A相当于A[0],它表示一维数组元素A[0]的第一个地址。&[0][0]是2D数组A的0行0列元素的第一个地址。

同样,a+1是二维数组第1行的第一个地址,由此可以得出a+I,a[I],*(a+I),&a[I][0]是等价的。此外,a[i]和a[i]是相同的。

另外,a〔0〕也可以看作是a〔0〕+0是一维数组a〔0〕的元素0的第一个地址,而a〔0〕+1是a〔0〕的元素1的第一个地址,因此可以得出结论,a〔i〕+J是一维数组a〔i〕的元素J的第一个地址,等于&a〔i〕〔J〕。

从a[i]=*(a+i),我们得到a[i]+J=*(a+i)+J,因为*(a+i)+J是二维数组a的行i和列J元素的第一个地址,因此该元素的值等于*(*(a+i)+J)。

扩展资料:

应注意两点:

一。当一个程序声明一个变量*时,它仅仅意味着“它是一个无符号整数,指向一个内存地址,sizeof(type)的长度一次被访问”。不要将此与(*)运算符混淆;

当一个C++程序声明一个变量时,&,它只是表示“它是一个引用,不会打开新的空间。它在内存分配表中添加一个新行,该行的内存地址等于调用时传入的相应参数的内存地址。

不要将此与(*)声明符,(&)运算符混淆。

参考资料来源:

百度百科-数组指针

百度百科-指针

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
高粉答主

2020-05-20 · 每个回答都超有意思的
知道答主
回答量:2169
采纳率:0%
帮助的人:33.9万
展开全部

1、定义数组和定义矩阵的程序格式完全一样,在软件中二者意思等价。通过“[]”自定义数组,同一行元素用“,”或者“空格”分隔,不同行用“;”

2、矩阵生成命令,“[]”表示空元素,“zeros(n,m)”生成n行m列0矩阵,“ones(n,m)”生成n行m列全1矩阵。具体例子如下图所示。

3、数组(或矩阵)元素的引用,引用格式为“数组名(n,m)”,如定义“A=[1 2 3;4 5 6]”这一两行三列矩阵A,令b=A(2,3),表示b等于A矩阵第二行第三列矩阵的值,仿真结果如下。

4、用“B=cell(2,3)”生成空的2行3列结构体,接着通过“B{n,m}=?”命令为结构体元素赋值,如输入“B{1,1}='asgsag' ”及“B{2,3}='A' ”命令,结果如下,这样就定义了结构体元素。

5、最后引用相应结构体元素可以用“变量名=结构体名{m,n}”,输入“b=B{2,3}”命令可得到下图结果。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nydnhs
推荐于2017-12-16 · TA获得超过1070个赞
知道小有建树答主
回答量:622
采纳率:0%
帮助的人:513万
展开全部
对于二维数组的指针只需记得两个模版:
s+i,s[i],序号为i行的首地址;*(s+i)+k,*(s[i])+k元素s[i][k]的地址
下面来看选项:A。*(a+i)+j表示元素a[i][j]的地址,加上指针运算后可得a[i][j]的值,符合题意,正确。
B。没有这种写法
C。套用模板二,表示元素a[i+j][0]的地址
D。表示元素a[i][j]的地址
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Y风雪波
2015-06-15
知道答主
回答量:1
采纳率:0%
帮助的人:1228
展开全部
选择第一个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式