近期在做一个程序,刚好又有了实践的机会。
1、动态数组 :声明时不要指定维数,编译时就不知道维数,在运行期动态分配。
ex:
var SA : array of string;
begin
SetLength(SA,33) // 为33个元素分配了空间
SA[0]:=' the first string';
otherString:=SA[0]; //动态数组的下标是以0开始的,如果要用循环给数组赋初值的话,必须要从0开始
end;
如果同时还定义了另外一个动态数组SA1,那么SA1:=SA2, 对SA1的引用赋值给SA2。如果要用SA1的完全拷贝赋值给SA2,应该用过程Copy()。
也可以定义多维的动态数组,array of array of Integer,二维数组。SetLength(SA,5,5),5×5的二维数组。
2、单元 unit
Unit //每个单元都必须在开头有这样一句,标示单元的名称,必须和文件名称相匹配。
interface //声明部分,常量,变量,过程和函数
implementation // 过程和函数的源代码
initialization
uses //引用的单元.要避免循环引用,如果一定要在UnitA中引用UnitB,然后在B中引用A的话, 一个在interface中引用,另一个必须在implementation中引用.
博客围绕程序实践展开,介绍了动态数组的使用,声明时不指定维数,运行期动态分配,可定义多维数组,还说明了数组引用赋值和完全拷贝赋值的方法。同时讲解了单元的结构,包括标示名称、声明部分、源代码及引用单元时避免循环引用的要点。
&spm=1001.2101.3001.5002&articleId=380580&d=1&t=3&u=99a85f4e40704d1f9ac00813571f9660)
1458

被折叠的 条评论
为什么被折叠?



