Delphi中动态数组地址深入解析

Delphi中动态数组是一种使用非常灵活的数据类型,这里探讨几个和地址有关的概念:

1、数组地址:动态数组的数组地址(太拗口了),即动态数组存储数据的地址,一般我们用数组名称直接代替:

比如:

动态数组定义为:

x:array of integer;

x本身代表的是数组存储数据的地址。那么问题来了,x是一个变量名称,一般取地址不是@x吗?且看2↓

2、数组变量地址:这个说起来更拗口......动态数组变量的变量地址,怎么说呢?程序中定义了一个变量x(接上节),我们为x这个变量分配了一个地址,对比一下啊:

x:array of integer;

y:integer;

那么作为一个变量,我们老老实实取变量地址的时候,@x,@y,取出来的值是连续的,并且差值为4

3、数组元素地址:这个可以看作是一个普通变量的地址,取一个数组元素x[0],那么x[0]的取地址为@x[0],既然x是动态数组存储数据的地址,而x[n]是数组元素的地址,那么,x[0]=x,因为x[0]是数组的第一个元素,第一个元素的地址不就是数组存储数据的开始吗?!

综上:

对于定义:

x:array of double;

x:表示数组元素存储空间的首地址

@x:表示存储变量名称的地址

x[0]:表示数组的第一个元素

@x[0]:表示数组的第一个元素地址,等同于x

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 14,029评论 6 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,107评论 19 139
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,496评论 11 349
  • 感叹句 (一)基本构成形式 1. What ( + a/an) + 形容词 + 名词 + 主语 + 谓语! 2. ...
    奥宇广昊左阅读 5,496评论 0 1
  • 库的概念库是程序代码的集合,是共享程序代码的一种方式 根据源码公开方式可分为 开源库,公开源码 闭源库,是经过变异...
    王蓝胖阅读 1,261评论 0 0

友情链接更多精彩内容