摘要: 编辑器加载中... 阅读全文
posted @ 2011-08-25 09:04 宋扬 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 编辑器加载中... 阅读全文
posted @ 2011-08-25 09:03 宋扬 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 编辑器加载中... 阅读全文
posted @ 2011-08-25 09:03 宋扬 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 应用:给动态数组内部添加一个元素的过程(可引申为开放数组做为参数)算法:1:首先给数组长度加1 2:在数组最后一个索引位置上添加对应元素代码:type TOneArray = array of Integer;procedure AddArrayItem(var Arr: TOneArray; x: Integer);begin SetLength(Arr,Length(Arr)+1); Arr[High(Arr)] := x;end;注意:参数生命中的var,这里引申出一个知识点;在过程或函数生命过程中,var,const,无 三者的不同;首先讨论有var和无var的区别,在参数传... 阅读全文
posted @ 2011-08-25 09:03 宋扬 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 1.数组与数组间的引用var Arr1,Arr2: array of Integer; a: array[0..1] of Integer;begin SetLength(Arr1,6); Arr1[5] := 100; Arr2 := Arr1; //Arr2 引用了 Arr1 ShowMessage(IntToStr(Arr2[5])); //100 ShowMessage(IntToStr(Length(Arr2))); //当然 Arr2 维数也会是 6 ShowMessage(IntToStr(SizeOf(Arr1))); //4, 其实动态数组是个指针 ... 阅读全文
posted @ 2011-08-25 09:02 宋扬 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 动态数组的创建:1,确定数组的类型2,确定数组的长度(其实是在内存中开辟动态数组存储的区域)3,给数组元素赋值,可以单个赋值,也可以对数组进行循环赋值4,数组的释放(一般没必要手动释放, 动态数组离开作用域会自释放)代码实例: var StrArr: array of String; //动态数组定义时不与维数begin SetLength(StrArr,6); //分配6个元素位置: 0-5StrArr[0] := 'sy'; //动态数组的下界是 0ShowMessage(StrArr[0]); //分配空间后和静态数组一样使用StrArr := nil; //一般没必要手 阅读全文
posted @ 2011-08-25 09:01 宋扬 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 1.单维动态数组在内存中的分部是连续的,可通过CopyMemory函数进行操作2.多维动态数组在内存中的分部是不连续的,但针对于每个维度,在内存中的存储确又是连续的,在使用函数操作时一定要注意。3.动态数组与静态数组的指针操作是不同的4.动态数组本身就是指针。 阅读全文
posted @ 2011-08-25 09:01 宋扬 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 静态数组的定义方法//1. 标准方法:var MyArr: array[0..10] of Integer; //定义静态数组//2. 可以使用非0下标:var MyArr: array[9..10] of Integer; //不能提倡,这样不容易与系统函数沟通//3. 根据预定义类型来声明数组:type TMyArr = array[0..10] of Integer; //先定义一个数组类型var MyArr: TMyArr; //再定义静态数组//4. 在非过程区可以直接赋值:var MyArr: array[0..2] of Integer = (11,22,33);//5. 多维数 阅读全文
posted @ 2011-08-25 09:00 宋扬 阅读(215) 评论(0) 推荐(0) 编辑