二维数组a[ i][ j]和a[ i][ j+1]有区别吗?

 我来答
帐号已注销
2022-12-24 · TA获得超过77万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:161万
展开全部

是的,两种不同的写法,本质都是取那个地址存在的值。

a[i][j]是第i行(0算起)第j列(0算起)的元素值。a+i是第i行的行指针,那么*(a+i)就是第i行第0个元素的指针,自然*(a+i)+j就是第i行的第j个元素的指针了,最后通过这个指针用*取出来的值*(*(a+i)+j)不就是第i行第j列的值,这就和a[i][j]完全是一回事。

扩展资料:

二维数组A[m][n],这是一个m行,n列的二维数组。设a[p][q]为A的第一个元素,即二维数组的行下标从p到m+p,列下标从q到n+q,按“行优先顺序”存储时则元素a[i][j]的地址计算为:

LOC(a[i][j]) = LOC(a[p][q]) + ((i − p) * n + (j − q)) * t

按“列优先顺序”存储时,地址计算为:

LOC(a[i][j]) = LOC(a[p][q]) + ((j − q) * m + (i − p)) * t

存放该数组至少需要的单元数为(m-p+1) * (n-q+1) * t 个字节 

参考资料来源:百度百科-二维数组

荣亿亿事通
2023-01-11 · 贡献了超过254个回答
知道答主
回答量:254
采纳率:0%
帮助的人:8.7万
展开全部
二维数组 a[i][j] 和 a[i][j+1] 有区别。
在 C/C++ 中,二维数组是由一维数组组成的。a[i][j] 表示一个具体的数组元素,它是位于第 i 行第 j 列的元素。而 a[i][j+1] 则是位于第 i 行第 j+1 列的元素。这两个元素是完全不同的。
在二维数组中,如果已知数组名称和元素索引,那么就可以确定一个具体的元素在内存中的位置。在这种情况下,a[i][j] 和 a[i][j+1] 指向的元素在内存中的位置是不同的.
在高级编程中,在算法上也常常使用二维数组作为高维矩阵,在这种情况下,a[i][j]和a[i][j+1]表示的是矩阵中两个不同元素。
它们不仅仅在内存中位置不同,它们在矩阵中也是完全不同的元素,对于矩阵的不同操作也会有不同的结果。
总之, a[i][j] 和 a[i][j+1] 是不同的元素, 它们在内存中和在算法中都是不同的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2023-01-01
展开全部
不就是一个是第(i,j)个元素一个是(i,j+1)个元素么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式