全部科目 > 程序员 >
2024年上半年 上午试卷 综合知识
第 56 题
知识点 数组的特征  
关键词 存储单元   数组  
章/节 常用数据结构  
 
 
设数组a[1..10,1..8]中的元素按行存放,每个元素占用4个存储单元,已知第一个数组元素a[1,1]的地址为1004,那么a[5,6]的地址为( )。
 
  A.  1004+(4*10+5)*4
 
  B.  1004+(5*8+6)*4
 
  C.  1004+(5*10+6)*4
 
  D.  1004+(4*8+5)*4




 
 
相关试题     常用数据结构 

  第37题    2021年下半年  
若初始栈为空且进栈序列为{12,34,5},则可能的出栈序列为()。

  第60题    2022年上半年  
队列是一种按“先进先出”原则进行插入和删除操作的数据结构。若初始队列为空,输入序列为abede,则可得到的输出序列为(37)

  第34题    2010年上半年  
对于二维数组[1..6,1..8],每个数据元素占2个存储单元,以列为主存储,则元素a[4,4]相当于数组空间起始地址的偏移量是(34)个存储单元。

 
知识点讲解
· 数组的特征
 
        数组的特征
        数组是一组具有相同类型的变量,其中各个元素共用一个数组名,但是用不同的下标来访问(引用)。如int a[6];说明了一个一维整型数组a,其中各个整型元素组成了一个向量:a[0], a[1], a[2], a[3], a[4], a[5]。
        数组还可以是多维数组,但二维以上的多维数组不是线性结构。
        n维数组是一维数组(向量)的推广。二维数组(也叫矩阵)可看作其元素是一维数组的一维数组(线性表、向量),n维数组可看作其元素是n-1维数组的一维数组(线性表、向量)。n维数组的每个元素处于n个向量中,有n个前驱,也有n个后继。
        对二维数组来说,给定维数和下标,如何得到数组元素存储位置?设每个数组占用L个内存单元,则二维数组Amn按行优先顺序(下标从0开始),aij的地址为:
        LOC(i, j)=LOC(0, 0)+(i*n+j)*L
        二维数组Amn按列优先顺序(下标从0开始),aij的地址为:
        LOC(i,j)=LOC(0, 0)+(j*m+i)*L
        对n维数组而言,一旦规定了数组的维数和各维的上下界限,便可为它分配存储空间;反之,只要给出一组下标便可求得相应数组元素的存储位置。以行序为例,设每个数据元素占L个存储单元,则n维数组任意元素的存储位置为:
        
        其中,
        Cn=L,Ci-1=bi×ci, 1<in
        在C语言中,二维数组是按行优先存储的,数组float a[4][5];的存储顺序为a[0][0], a[0][1], …, a[0][4], …, a[3][0], …, a[3][4], a[2][3]的地址为S+(2×5+3)×4=42,其中S为起始地址。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有