数组 的地址计算

  数组是一个特殊的数据结构,数组的基本操作不涉及数组结构的变化,因此对于数组而言,采用顺序存储表示比较合适。数组的顺序存储结构有两种:一、以行序存储,如高级语言BASIC、COBOL、Pascal、c语言。二、以列序存储,FORTRAN。

  数组地址的计算

  一维数组:设数组为

                                 A=a1,a2,a3,a4...ai...an;

              每个数据元素占d个存储单元,则元素ai的存储地址为

                            Loc(A[i])=Loc(A[1])+(i-1)*d;

   二维数组:设数组为

                           

以“行序存储为主”,首元素a11的地址是Loc(A[1][1]),求aij。aij有i-1行即n*(i-1)个元素,j列前有j-1个元素,每个数据元素占d个存储单元,则

以“列序存储为主”,首元素a11的地址是Loc(A[1][1]),求aij。aij有i-1列即m*(j-1)个元素,j行前有j-1个元素,每个数据元素占d个存储单元,则

例题:设有一个二维数组A[1...12][1...10],采用行序存储,每个数据元素占2个字节,该数组的首A[1][1]的地址是1200,则A[6][5]的地址为1308

分析:Loc(A[6][5])=Loc(A[1][1])+(n*(i-1)+j-1)*d=1200+(10*5+4)*2=1308.

设有一个二维数组A[0...8][0...12],采用列序存储,每个数据元素占4个字节,该数组的首A[0][0]的地址是1200,则A[5][9]的地址为1544.

分析:实际是A[9][13]的二维数组,则Loc(A[5][9])=Loc(A[0][0])+(m*j+i)*d=1200+(9*9+5)*4=1544.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/467045.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

你会选择深圳还是佛山?

最近是校招季节,有很多人在询问offer的问题,我知道我已经发了很多这样相关的文章,可能大家看着都有点不耐烦了,不过还是想说,人生重要的选择真的没有几个,我每次回答都特别慎重,我有时候发出来也…

optimizer

在很多机器学习和深度学习的应用中,我们发现用的最多的优化器是 Adam,为什么呢? 下面是 TensorFlow 中的优化器, https://www.tensorflow.org/api_guides/python/train 在 keras 中也有 SGD,RMSprop,Adagr…

【漫画】25岁程序员 VS 35岁程序员,塑造自己的不可替代性,才能让自己更有价值 ​...

其中的酸甜苦辣你中了几条经常有人说:35岁是程序员的魔咒。但其实相比于刚毕业的年轻人,虽然35岁的程序员从精力上和年龄上都不再占有优势,但十几年的沉淀所造就的从容也是这个年龄段所独有的。当然,也不只是程序员,任…

WIN命令

azman.msc--授权管理器admgmt.msc--ad管理calc-----------启动计算器certmgr.msc--证书-当前用户certtmpl.msc--证书模板 compmgmt.msc---计算机管理conf-------启动netmeetingcys--配置您的服务器dcomcnfg.exe--组件服务dcpol.msc--域控制器策略 filesvr.msc--文件…

你确定你会使用git commit?

我记得刚工作的时候,我第一次写git commit的内容,直接上来就是一个git commit -m "加上自己的注释",就这样提交了。后来,我去了中兴,又去了恒大,接触到很多人做项目,发现做项目的时候…

adb devices unauthorized解决方法

有时候使用adb连接手机时,即使打开了usb调试,手机添加了信任,仍然出现unauthorized的提示 解决办法如下: 先上两张stack overflow上面的图片: 很多人可能看不懂。翻一下大概如下: 也就是在 C:\Users\xxx\.a…

可怕,别人把我MCU固件给反汇编了!

相关文章很多人都不清楚HEX文件格式CPU怎么认识代码的?一个超强的逆向分析软件本文主要跟大家分享一个简单逆向stm32固件程序的实例,为了让大家在一款成熟的产品中去考虑加密这一块的技术,不然分分钟被别人copy!2、情景再现咬金&a…

带参数的宏定义

不是进行简单的字符串替换,还要进行参数替换。其定义的一般形式为#define 宏名(参数表) 字符串字符串中包含在括弧中所指定的参数。如:#define S(a,b) a*bareaS(3,2);定义矩形面积S,a 和 b 是边长。在程序中用了S(3,2),把3、2分别…

电脑控制android手机神器,scrcpy

我同事有一个华为手机,手机里内置了NFC,然后把手机靠近下电脑,当然的,一定需要是华为笔记本,然后电脑就弹出一个界面,控制手机的界面,这个功能非常好,加上NFC的功能,体验…

Modbus协议概念最详细介绍

★一文认识Modbus协议;”1 什么是Modbus?2 主从模式3 协议的分类3.1 Modbus ASCII3.2 Modbus RTU3.3 Modbus TCP3.4 Modbus Plus4 libmodbus5 freemodbus6 总结1 什么是Modbus?Modbus是Modicon(施耐德)公司于1979年开发…

OpenvSwitch实现kubernetes依赖的底层网络

kubernetes网络模型设计的一个基础原则是:每个Pod都拥有一个独立的IP地址,而且假定所有Pod都在一个可以直接连通的、扁平的网络空间中(在GCE里面是现成的网络模型)。在kubernetes中,IP是以Pod为单位进行分配的。一个Po…

该不该放弃嵌入式,单片机这条路?

知乎提问:本人,一个毕业工作两年在深圳工作的菜鸟单片机工程师。说说这两年来自己的一些看法。个人语言表述能力较差,加之经验不足,望见谅。1.程序编写1.1对架构能力要求较高。比如做一个自动售卖咖啡机,在开始写之前要…

6月份Asp.net源码推荐

整理了一下51aspx上6月份的Asp.net源码,特推荐一些给大家免费下载- 阿江酷站统计系统ASP.Net修正版Hits:262 2007-6-29阿江酷站单用户访问统计系统ASP.Net修正版 通过在要统计的页面潜入js脚本就可以对访问进行详细统计,可以按小时、日、月、年进行柱状图…

在家工作多年再回深圳找工作,会不会丢脸?

jiy发哥好。职场难题,江湖救急,请教你: 我刚毕业曾在深圳待过,那时候真是菜得什么都不会,折腾来折腾去一直没找到合适的坑,所以混了一两年又回老家小城市了。 小城市待遇普通,工作机会不多&…

数独

数独 时间限制:1000 ms | 内存限制:65535 KB难度:4描述数独是一种运用纸、笔进行演算的逻辑游戏。玩家需要根据99盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个3*3宫内的数字均含1-9&…

Linux内存寻址方式

为什么要内存管理:早期的程序都是直接运行在物理地址上,也就是说这个程序所需要的空间不超过该机器的物理内存就不会有问题,但实际场景中都是多任务,多进程的,这种物理地址reserved给各个进程是不靠谱的。举个栗子&…

DotNetNuke 框架总揽

我总觉的学一样东东,最好是先在总体上对他有一个认识,而后才能更好的学习,最近刚好有机会学习DotNetNuke这个东西,就把所学到的都写下来,与大家一起分享,有不对的地方,大家一起讨论,…

超全!嵌入式必懂的CAN总线一文讲通了

嵌入式的工程师一般都知道CAN总线广泛应用到汽车中,其实船舰电子设备通信也广泛使用CAN,随着国家对海防的越来越重视,对CAN的需求也会越来越大。这个暑假,通过参加苏州社会实践,去某船舶电气公司实习几周,也…

Gentle中的数据表实体类相关自定义属性的设置和获得

1.自定义 表名属性 TableNameAttribute2.自定义 主键属性 PrimaryKeyAttribute3.自定义 列名属性 TableColumnAttribute 4.数据表person对应的实体类person.cs5.获得person.cs类型实体 对应的表名及字段名 下面的属性代码文件 都直接建立在App_Code下 以方便使用 1.自定义 表名…

WebSocket介绍

WebSocket协议是基于TCP的一种新的协议。WebSocket最初在HTML5规范中被引用为TCP连接,作为基于TCP的套接字API的占位符。它实现了浏览器与服务器全双工(full-duplex)通信。其本质是保持TCP连接,在浏览器和服务端通过Socket进行通信。 本文将使用Python编…