66问答网
所有问题
当前搜索:
二维数组的储存地址怎么算
5.对于
二维数组
int a[7][8],若数组a的首
地址
为1000,且每个元素的长度是...
答:
以行优先的方式,a[5][2]是
数组
a的第42个元素(5*8+2), 每个元素4个字节,那么就偏移了42*4=168个字节 所以a[5][2]
的地址
就是1000+(5*8+2)*4=1168
在
二维数组
A[9[10]中,每个数组元素占用5个
存储
空间,从首
地址
S开始连续...
答:
二维数组
也是线性
存储
,按行号从小到大存储。A[8][5]前面共有完整八行,每行十个元素。本行前还有5个元素,共85个元素排在前面。该元素的起始
地址
是S+85*5。
数据结构中
数组
元素的起始地址和
存储地址
有什么区别?
答:
(1)
数组
A的存储量为6*8*6=288字节 (2)按行优先存放时,元素A1,4的起始地址、存储地址:1000+(1*8+4)*6=1072 (3)按列优先存放时,元素A4,7的起始地址、存储地址:1000+(7*6+4)*6=1276 数组元素
的存储地址
就是该元素在内存的起始地址 ...
怎么计算
三维
数组的存储地址
?
答:
因此,a(ij)的
地址计算
函数为:LOC(aij)=LOC(a11)+[(i-1)*n+j-1]*d。同样,三维数组A(ijk)按“行优先顺序”
存储
,其地址计算函数为:LOC(aijk)=LOC(a111)+[(i-1)*n*p+(j-1)*p+(k-1)]*d。上述讨论均是假设数组各维的下界是1,更一般的
二维数组
是A[c1..d1,c2..d2],...
...且每个元素占2个存储单元,若第一个元素
的存储位置
为b,则b+20的元 ...
答:
设列宽为n,行索引为i,列索引为j,基
地址
指针为b,则 b[i][j]=b+(n*i+j)*2=b+20 10i+j=10 j=10-10i 又因 i=[20/n*2]=1 (
计算
行索引,将偏移量除列宽取整后获得,n*2因为一个元素占2字节你懂得)所以 j=10-10*1=0 因此b+20=b[i][j]=b[1][0]
...其中每个元素占一个存储单元 若A[1][1]
的存储地址
为420 A [3][3...
答:
446+(446-420)=472 因为A[3][3]比A[1][1]刚好多2行+2个,和A[5][5]比A[3][3]多同样大小,所以直接这样算啦
数据结构
数组地址怎么算
?
答:
即使A[8][5]前面有多少个元素,行下标i从1到8,列下标j 从1到10 ,所有A[8][5]之前共有7*10+4(74)个元素,每个元素的长度为3个字节,故共有3*74 = 222个字节 首
地址
是SA,则A[8][5]地址是SA+222
在C++语言中,
二维数组
在内存中
的存放
顺序是什么?
答:
就是将一行当作一维数组进行
存储
。例如:a[2][2]这个
二维数组
,其在内存中存储顺序为:a[0][0] a[0][1] //先存储第一行a[1][0] a[1][1] //再存储第二行。假设是32位系统,整型占4个字节,则其在内存的形式为:a[0][0]a[0][1]a[1][0]a[1][1]...
二维数组
M的成员是6个字符组成的串,行下标从0到8,列下标从1到10,则至...
答:
行数:9(0..8)列数:10(1..10)每个
数组
元素占用的空间:6字节 每个字符占1字节
存储
M的总空间:9 * 10 * 6 = 540字节。第8列总共9个元素(因为总共9行),每个元素占6个字节,共54字节。第5行总共10个元素(因为总共10列),每个元素占6个字节,共60字节。
二维数组
A[0..9,0..10]采用行优先
的存储
方法,若每个元素各占3个存储单...
答:
由题可知
二维数组
是A[m][n]即A[10][11],d=3,采用行优先
存储
方法
地址
A[i][j]=A[6][9]=A[0][0]+(i*n+j)*d =200+(6*11+9)*3 =200+225 =425 答案应该是这个!
棣栭〉
<涓婁竴椤
6
7
8
9
11
12
13
14
10
15
涓嬩竴椤
灏鹃〉
其他人还搜