文章
1
粉丝
0
获赞
访问
91
题目链接:数组A[0..5,0..6]的每个元素占5个字节,将其按列优先次序存储在起始地址为1000的内存单元 请在下方描述您遇到的问题: 你这答案确定是对的吗?
步骤1:确定数组维度(行列数) 数组A[0..5,0..6]: 行范围:0~5 → 共5-0+1 = 6行 列范围:0~6 → 共6-0+1 = 7列 每个元素占5字节,基地址(起始地址)LOC(0,0) = 1000
步骤2:列优先存储的核心公式 列优先 = 先存满一列,再存下一列,地址计算公式: LOC(i,j) = 基地址 + (j × 总行数 + i)× 每个元素字节数 其中:i 是行号,j 是列号。
步骤3:代入计算A[5][5]的地址 已知i=5,j=5,总行数=6,字节数=5: LOC(5,5) = 1000 + (5×6+5)×5 = 1000 + 35×5 = 1000 + 175 = 1175
最终答案 A. 1175
补充:若为行优先(先存行再存列),计算结果为1000+(5×7+5)×5=1205(对应选项C),本题是列优先,需注意区分核心公式的行列顺序。
登录后发布评论
步骤1:确定数组维度(行列数)
数组A[0..5,0..6]:
行范围:0~5 → 共5-0+1 = 6行
列范围:0~6 → 共6-0+1 = 7列
每个元素占5字节,基地址(起始地址)LOC(0,0) = 1000
步骤2:列优先存储的核心公式
列优先 = 先存满一列,再存下一列,地址计算公式:
LOC(i,j) = 基地址 + (j × 总行数 + i)× 每个元素字节数
其中:i 是行号,j 是列号。
步骤3:代入计算A[5][5]的地址
已知i=5,j=5,总行数=6,字节数=5:
LOC(5,5) = 1000 + (5×6+5)×5
= 1000 + 35×5
= 1000 + 175
= 1175
最终答案
A. 1175
补充:若为行优先(先存行再存列),计算结果为1000+(5×7+5)×5=1205(对应选项C),本题是列优先,需注意区分核心公式的行列顺序。