a+ i是取二维数组a[ i][ j]的值吗?

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

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

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 个字节 

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

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式