Delphi 4 的动态数组
来源:互联网 发布:《武侠》杂志 知乎 编辑:程序博客网 时间:2024/05/04 09:18
Delphi 4 的动态数组
传统的Pascal 语言其数组大小是预先确定的,当你用数组结构声明数据类型时,你必须指定数组元素的个数。专业程序员也许知道些许动态数组的实现技术,一般是采用指针,用手工分配并释放所需的内存。
Delphi 4中增加了非常简单的动态数组实现方法,实现过程效仿我前面讲过的动态长字符串。与长字符串一样,动态数组的内存动态分配并且引用记数,不过动态数组不支持 copy-on-write 技术。这不是个大问题,因为你可以把变量值设置为nil释放数组内存。
这样你就可以声明一个不指定元素个数的数组,并用SetLength 过程给数组分配一个特定大小的内存,SetLength 过程还可以改变数组大小而不影响其内容,除此外还有一些字符串过程也可用于数组,如Copy 函数。
以下摘录的代码突出了一点,这就是:定义数组后必须先为它分配内存,然后才能开始使用:
procedure TForm1.Button1Click(Sender: TObject);var Array1: array of Integer;begin Array1 [1] := 100; // error SetLength (Array1, 100); Array1 [99] := 100; // OK ...end;
如果你只定义一个数组元素个数,那么索引总是从0开始。Pascal 中的普通数组既能用不为零的下标,也能用非整数的下标,但动态数组均不支持这两种下标。象普通数组一样,你可以通过Length、High和Low 函数了解到动态数组的状况,不过对于动态数组,Low 函数返回值总是0,High函数返回数组大小减1,这意味着空的动态数组其函数High返回值是-1,这是一个很怪的值,因为它比Low的返回值还小。
- Delphi 4 的动态数组
- Delphi 的动态数组1
- delphi 动态数组的使用
- Delphi删除动态数组控件的方法
- delphi 初始化多维动态数组的方法
- Delphi动态申请数组内存的方法
- 动态数组介绍----Delphi
- 动态数组介绍----Delphi
- Delphi中的动态数组!
- 动态数组介绍----Delphi
- Delphi动态数组介绍
- Delphi动态数组2
- Delphi 动态数组应用
- Delphi动态数组详解
- Delphi 动态数组
- delphi 动态数组和静态数组首地址的区别
- Delphi之动态数组(整理)
- delphi 动态结构数组例程
- Android中使用AlarmManager需注意设置进程属性
- IPTABLES
- 深入理解linux下用户态与核心态切换
- poj 1088滑雪
- Delphi 字符串与 Windows PChar字符串
- Delphi 4 的动态数组
- 【NOI2004】郁闷的出纳员(splay tree WA中。。)
- 自定义类型转换器--局部和全局
- win7 下jdk和tomcat服务器的配置
- 操作mysql
- requires the ionCube PHP Loader
- SetLength (Array1, 100);Exit,Break,Continue
- 继承和接口
- VB.NET使用SMTP发送邮件