关于数组存储位置
一维数组a[i]的地址等于a[0]的地址+Length*i;二维数组定义的是a[m][n]a[i][j]的地址等于a[0][0]的地址+(n*i+j)Length结合这道...
一维数组 a[i]的地址等于a[0]的地址+Length*i;
二维数组 定义的是a[m][n] a[i][j]的地址等于a[0][0]的地址+(n*i+j)Length
结合这道题:
已知五行五列的二维数组a中各元素占两个字节,求元素a[2][3]按行优先的存储地址?
我想请问 (1) a[0][0]的地址是什么啊?
(2)这道题的结果是什么呢?
(从零开始从一开始这个我明白,只是针对这道题,我想更透彻一些,理解这个a) 展开
二维数组 定义的是a[m][n] a[i][j]的地址等于a[0][0]的地址+(n*i+j)Length
结合这道题:
已知五行五列的二维数组a中各元素占两个字节,求元素a[2][3]按行优先的存储地址?
我想请问 (1) a[0][0]的地址是什么啊?
(2)这道题的结果是什么呢?
(从零开始从一开始这个我明白,只是针对这道题,我想更透彻一些,理解这个a) 展开
1个回答
展开全部
根据你的问题,我给你举例吧,取五行五列数组Array a
A1 A2 A3 A4 A5
B1 B2 B3 B4 B5
C1 C2 C3 C4 C5
D1 D2 D3 D4 D5
E1 E2 E3 E4 E5
a[0][0]的地址就是A1的地址,或许你觉得我说得有点白痴,不过如果你了解了数组的存储方式,这样说算是直白了,各个元素占两个字节,那么a[0][0]的地址就是指针指向宽前历第一字节的位置,A1存储的位置是1、2字节,A2是3、4字节,A3是5、6字节,以此类推,那慎搜么a[2][3]对应的就是B3,其实二维数组基本都是按行优先存储的,a[2][3]存储的位置就是第15字节的位置,如果每个地址有自己的名字,例如第一字节的名字时a1,第二字节悔带的名字是a2,以此类推,那么a[0][0]的地址就是a1,这道题的结果就是a15
A1 A2 A3 A4 A5
B1 B2 B3 B4 B5
C1 C2 C3 C4 C5
D1 D2 D3 D4 D5
E1 E2 E3 E4 E5
a[0][0]的地址就是A1的地址,或许你觉得我说得有点白痴,不过如果你了解了数组的存储方式,这样说算是直白了,各个元素占两个字节,那么a[0][0]的地址就是指针指向宽前历第一字节的位置,A1存储的位置是1、2字节,A2是3、4字节,A3是5、6字节,以此类推,那慎搜么a[2][3]对应的就是B3,其实二维数组基本都是按行优先存储的,a[2][3]存储的位置就是第15字节的位置,如果每个地址有自己的名字,例如第一字节的名字时a1,第二字节悔带的名字是a2,以此类推,那么a[0][0]的地址就是a1,这道题的结果就是a15
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询