计算机二级:Delphi之动态数组使用总结计算机二级考试

文章作者 100test 发表时间 2009:05:22 12:01:13
来源 100Test.Com百考试题网


  传统的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的返回值还小。

  特别推荐:

  2009年9月全国计算机等级考试时间及科目预告

  2009年上半年全国计算机等级考试参考答案请进入计算机考试论坛

  2009年全国计算机等级考试报名信息汇总

  2009年NCRE考试有新变化

  2009年全国计算机等级考试-大纲

  2009年上半年全国计算机二级考试试题及答案

  2009年上半年全国计算机等级考试试题答案汇总



相关文章


计算机二级Delphi代码优化技巧计算机二级考试
计算机二级:Delphi之动态数组使用总结计算机二级考试
计算机二级DELPHI技巧:DELPHI获取U盘盘符代码计算机二级考试
计算机二级:DELPHI中指针和类TLIST结合计算机二级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛