欢迎光临散文网 会员登陆 & 注册

计算数组空间地址偏移量

2023-04-01 15:00 作者:Akaiamerin  | 我要投稿

数组元素的存储地址=数组空间首地址+偏移量

%5Cbegin%7Bbmatrix%7D%0Aa_%7B0%2C%200%7D%20%26%20a_%7B0%2C%201%7D%20%26%20%5Ccdots%20%26%20a_%7B0%2C%20n%20-%201%7D%20%5C%5C%0Aa_%7B1%2C%200%7D%20%26%20a_%7B1%2C%201%7D%20%26%20%5Ccdots%20%26%20a_%7B1%2C%20n%20-%201%7D%20%5C%5C%0A%5Cvdots%20%26%20%5Cvdots%20%26%20a_%7Bij%7D%20%26%20%5Cvdots%20%5C%5C%0Aa_%7Bm%20-%201%2C%200%7D%20%26%20a_%7Bm%20-%201%2C%201%7D%20%26%20%5Ccdots%20%26%20a_%7Bm%20-%201%2C%20n%20-%201%7D%0A%5Cend%7Bbmatrix%7D

以行为主序的二维数组a%5Bm%5D%5Bn%5D(下标从0开始),求a%5Bi%5D%5Bj%5D%20(0%20%5Cleq%20i%20%3C%20m%2C%200%20%5Cleq%20j%20%3C%20n)

        对于前i%20-%201行,共有i行,每行n个元素,一共有i%20*%20n个元素;

        对于第i行,a%5Bi%5D%5Bj%5D之前有j个元素;

        故a%5Bi%5D%5Bj%5D的存储位置相对于数组空间首地址偏移量为i%20*%20n%20%2B%20j

以列为主序的二维数组a%5Bm%5D%5Bn%5D(下标从0开始),求a%5Bi%5D%5Bj%5D%20(0%20%5Cleq%20i%20%3C%20m%2C%200%20%5Cleq%20j%20%3C%20n)

        对于前j%20-%201列,共有j列,每列m个元素,一共有j%20*%20m个元素;

        对于第j列,a%5Bi%5D%5Bj%5D之前有i个元素;

        故a%5Bi%5D%5Bj%5D的存储位置相对于数组空间首地址偏移量为j%20*%20m%20%2B%20i

%5Cbegin%7Bbmatrix%7D%0Aa_%7B1%2C%201%7D%20%26%20a_%7B1%2C%202%7D%20%26%20%5Ccdots%20%26%20a_%7B1%2C%20n%7D%20%5C%5C%0Aa_%7B2%2C%201%7D%20%26%20a_%7B2%2C%202%7D%20%26%20%5Ccdots%20%26%20a_%7B2%2C%20n%7D%20%5C%5C%0A%5Cvdots%20%26%20%5Cvdots%20%26%20a_%7Bij%7D%20%26%20%5Cvdots%20%5C%5C%0Aa_%7Bm%2C%201%7D%20%26%20a_%7Bm%2C%202%7D%20%26%20%5Ccdots%20%26%20a_%7Bm%2C%20n%7D%0A%5Cend%7Bbmatrix%7D

以行为主序的二维数组a%5Bm%5D%5Bn%5D(下标从1开始),求a%5Bi%5D%5Bj%5D%20(1%20%5Cleq%20i%20%5Cleq%20m%2C%201%20%5Cleq%20j%20%5Cleq%20n)

        对于前i%20-%201行,共有i%20-%201行,每行n个元素,一共有(i%20-%201)%20*%20n个元素;

        对于第i行,a%5Bi%5D%5Bj%5D之前有j%20-%201个元素;

        故a%5Bi%5D%5Bj%5D的存储位置相对于数组空间首地址偏移量为(i%20-%201)%20*%20n%20%2B%20j%20-%201

以列为主序的二维数组a%5Bm%5D%5Bn%5D(下标从1开始),求a%5Bi%5D%5Bj%5D%20(1%20%5Cleq%20i%20%5Cleq%20m%2C%201%20%5Cleq%20j%20%5Cleq%20n)

        对于前j%20-%201列,共有j%20-%201列,每列m个元素,一共有(j%20-%201)%20*%20m个元素;

        对于第j列,a%5Bi%5D%5Bj%5D之前有i%20-%201个元素;

        故a%5Bi%5D%5Bj%5D的存储位置相对于数组空间首地址偏移量为(j%20-%201)%20*%20m%20%2B%20i%20-%201

计算数组空间地址偏移量的评论 (共 条)

分享到微博请遵守国家法律