二维数组为a[6][10],每个数组元素占用4个存储单元,若按行优先顺序存放的数组元素,a[0][0]的存储地址为860,则a[3][5]的存储地址是______。
A. 1000
B. 860
C. 1140
D. 1200
860 + ( 3 * 10 + 5) * 4
6x10
(3x10+5)x4=140
860+140=1000
二维数组为a[6][10],数组为6行10列,行优先原则下,a[i][j]=loc + (i*总列数 + j)*每个所占存储单元 即a[3][5] = 860 + (3*10 + 5) * 4 = 1000
3685388563 回复 17679377259: 从a[0][0]开始的啊,不应该是7行11列吗
17679377259 回复 3685388563: 索引是从0到9,并不是11列
加➕ 回复 3685388563: 智能解释数组声明: 当您声明一个二维数组 a[6][10] 时,您实际上是在告诉编译器您需要一个可以存储 6 行 10 列元素的数组。这里的 6 和 10 分别指定了数组的行数和列数。 存储地址: a[0][0] 的存储地址是 860,这只是数组在内存中的起始位置。这个地址与数组的大小(即行数和列数)没有直接关系,但它确实告诉我们数组的第一个元素存储在哪里。 数组大小与内存: 数组的大小(6 行 10 列)决定了数组需要占用多少内存空间。每个元素占用 4 个存储单元(这是您提供的另一个信息),因此整个数组需要的内存空间是 6 * 10 * 4 个存储单元。 索引范围: 在二维数组 a[6][10] 中,行索引的范围是 0 到 5(共 6 行),列索引的范围是 0 到 9(共 10 列)。这是因为在大多数编程语言中,数组的索引是从 0 开始的。 所以,a[0][0] 的存储地址是 860,这只是告诉我们数组从哪里开始存储,而数组 a[6][10] 的大小是 6 行 10 列
不是从0.0开始的吗
A
用户登录可进行刷题及查看答案
登录后提交答案