00问答网
所有问题
当前搜索:
二维数组的储存地址怎么算
已知10×12的
二维数组
A,按“行优先顺序”
存储
,每个元素占1个存储...
答:
A[5][5]
的存储地址
=A[1][1]的存储地址+((5-1)*12+(5-1))*1 =420+((5-1)*12+(5-1))*1 =472 选择答案C。
二维数组的
实际内存是
怎样存储
的?
答:
为了表示方便,我打了空格分开了,其实是连续
存储
的,只是逻辑上认为是
二维的
而已.那么考虑初始化的问题,int a[3][2]={3,2,1}; 分别赋值给了a[0][0] ,a[0][1], a[1][0]现在考虑 a[0][2]到底是什么 a[0][2]其实被编译器解释为 *( (*a+0 ) + 2) ,a是
数组
首
地址
,在C/C++...
若定义了一个
二维数组
int a[3][4];且该
数组的
起始
地址
为1000,则元素...
答:
a[0][0] a[0]1[] a[0][2] a[0][3]a[1][0] a[1][1] a[1][2] a[1][3]a[2][0] a[2][1] a[2][2] a[2][3]c语言的
数组
都是从0开始计数,所以a[1][3]就是第二行的第四列,每个整型数据占2个字节,所以
地址
是1000+2*(1*4 + 3)=1014 对应地址 1000 1002...
二维数组的地址
问题
答:
然后*(a[n]+m)就表示n行第m个元素了?>>这句没错. 任何情况下, *(p+n)都等效于p[n]2、书中写a+n表示第n行的首
地址
,那是相当于&a[n]吗,a不是表示数组首个元素地址吗,
怎么
+n不是元素
位置
改变,却是位移了行?>>这个上面说过了, 核心在于指针的类型.
二维数组
int a[M][N]...
设W为一个
二维数组
,其每个数据元素占用4个字节,行下标i从0到7_百度...
答:
0..6,0..3),按行序
存放
的话,它的前面还有6个整行的数据外加该结点在最后一行还有3个元素在它之前,故在它之前
二维数组的
还有x个元素,其中 x = 6 4 + 3 = 27 它的起始
地址
= 数组起始地址 + 偏移量 = 100 + 4 (6 4 + 3)= 100 + 108 = 208 ...
为什么A[5][5]
的存储位置
是472:按行序优先
存储的二维数组
,每个元素占1...
答:
设基地址为b(
数组地址
),列宽为n(字节),行索引为R,列索引为C,元素在整个
存储
区中的索引为i 则公式b+R*n+C=b+i 显然题目中未明确列宽,所以必须先
计算
n,因此以两个元素行列差与
位置
差计算n (3-1)*n+(3-1)=446-420 2n+2=26 n=12 又因b+1*n+1=420 则基地址为b=420-12...
在C语言中定义
二维数组
long a[3][5],则数组占多少字节
的存储
空间?
答:
c语言中long占4个字节,所以longa[3][5]占4*3*5=60个字节 从元素角度理解a代表a[0][0];从
二维数组
理解a代表a二维数组名,即二维数组首
地址
;从一维数组角度理解a代表a[0]即二维数组第一行看作一个一维数组,a[0]为这个一维
数组的
首地址;a[1]从二维数组看代表a[1][0]是元素,从一维...
数据结构
数组地址怎么算
?
答:
即使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
假设有
二维数组
A6*8 ,每个元素用相邻的8个字节
存储
,存储器按字节编制...
答:
1 、6*8 *6 = 288 字节 2 、1000 + (5 * 8 + 7)*6= 1282 3、1000 + (8 + 4) * 6 = 1072 4、1000 + (7 * 6 + 4)* 6 = 1276
...序方式存储,每个数据元素占4个
存 储
单元,且A[2][2]
的存储地址
...
答:
A[2][2]的地址是1000,A[2][3]
的地址
是1004,A[2][4]的地址是1008 同时,因为
二维数组
是通过线性方式
存储
的,所以后面的地址是继续的,也就是:A[3][0]的地址是1012,A[3][1]的地址是1016,A[3][2]的地址是1020,A[3][3]的地址是1024,A[3][4]的地址是1028 所以答案选D ...
棣栭〉
<涓婁竴椤
4
5
6
7
9
10
8
11
12
13
涓嬩竴椤
灏鹃〉
其他人还搜