某线性表采用顺序存储结构,若首地址为100,每个数据元素占用2个存储单元,则第8个元素的存储地址为?

某线性表采用顺序存储结构,若首地址为100,每个数据元素占用2个存储单元,则第8个元素的存储地址为?求详解~~~... 某线性表采用顺序存储结构,若首地址为100,每个数据元素占用2个存储单元,则第8个元素的存储地址为?
求详解~~~
展开
 我来答
娱乐小八卦啊a
高粉答主

2020-05-09 · 娱乐小八卦,天天都知道
娱乐小八卦啊a
采纳数:256 获赞数:117753

向TA提问 私信TA
展开全部

第8个元素的存储地址就是114和115,标称存储地址为114。

顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素,称为线性表的顺序存储结构或顺序映像(sequential mapping)。它以“物理位置相邻”来表示线性表中数据元素间的逻辑关系,可随机存取表中任一元素。

由此得到的存储结构为顺序存储结构,通常顺序存储结构是借助于计算机程序设计语言(例如c/c++)的数组来描述的。

扩展资料

顺序存储结构的主要优点是节省存储空间,因为分配给数据的存储单元全用存放结点的数据(不考虑c/c++语言中数组需指定大小的情况),结点之间的逻辑关系没有占用额外的存储空间。

采用这种方法时,可实现对结点的随机存取,即每一个结点对应一个序号,由该序号可以直接计算出来结点的存储地址。但顺序存储方法的主要缺点是不便于修改,对结点的插入、删除运算时,可能要移动一系列的结点。

顺序存储结构封装需要三个属性:

存储空间的起始位置,数组data,它的存储位置就是线性表存储空间的存储位置。

线性表的最大存储容量:数组的长度MaxSize。

线性表的当前长度:length。

注意:数组的长度与线性表的当前长度需要区分一下:数组的长度是存放线性表的存储空间的总长度,一般初始化后不变。而线性表的当前长度是线性表中元素的个数,是会变化的。

White_MouseYBZ
2017-07-08 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:5770万
展开全部

每个元素2存储单元,第一个元素的存储地址就是100和101,第二个元素的存储地址就是102和103……这样数下去第8个元素的存储地址就是114和115,标称存储地址为114。下面的代码可以验证:

#include "stdio.h"
int main(int argc,char *argv[]){
short a[8]={1,2,3,4,5,6,7,8};
unsigned t=&a[0]-(short *)100;//使&a[0]-t==100
printf("%u:(%d)\n%u:(%d)\n",&a[0]-t,a[0],&a[7]-t,a[7]);
return 0;
}

运行结果如下:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
icso
2012-12-25 · TA获得超过649个赞
知道小有建树答主
回答量:242
采纳率:0%
帮助的人:414万
展开全部
100+(8-1)*2=114
追问
114?
追答
呃,是滴。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式