数组的偏移量就是数组空间起始位置的偏移值。数组分为一维数组、二维和多。
一维数组:a[n]
对于一维数组,它的偏移量计算特别简单,比如在a[10]中求a[4]的偏移量
① 数组a的下标从0开始
则偏移量为4
② 数组a的下标从k开始(k<=4,保证所求元素在数组中)
则偏移量d=4-k
二维数组:a[m][n]
对于二维数组,它的偏移量计算分为以行为主序和以列为主序存储。以a[0..4][1..5]为例,计算a[2,2]的偏移量
① 以行为主序:偏移量d=i*n+j(i,j下标从0开始)
以上述为例,由题可知,j的下标是以1为起始,则此时的偏移量为:d=2*5+(2-1)=11
② 以列为主序:偏移量d=j*n+i(i,j下标从0开始)
此时偏移量d=(2-1)*5+2=7
三维数组:a[m][n][o]
三维数组计算a[i][j][k]的公式为d=i*n*o+j*o+k
例如:数组a[0..3,0..2,1..4],求a[2,2,2]的偏移量,则可求得d=2*3*4+2*4+(2-1)=33
数组的偏移量
最新推荐文章于 2023-07-10 20:20:14 发布