二维数组a[ i][ j]和a[ i][ j+1]有区别吗?
3个回答
展开全部
是的,两种不同的写法,本质都是取那个地址存在的值。
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 个字节
参考资料来源:百度百科-二维数组
展开全部
二维数组 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] 是不同的元素, 它们在内存中和在算法中都是不同的。
在 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)个元素么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询