您的位置:首页 > 编程语言

最近在分析代码中的一些发现,以前没有注意到。

2009-02-05 18:19 351 查看
1、delphi 下的STRING类型
在delphi下如果直接赋值常量字符串长度仅仅为255
例如 var a :string
a := 'aaaaaaaaaaaaaaa';
上边的‘’内仅仅可以拥有255个字符。但是如果进行运算操作后,STRING的长度就变了
例如
a := '222222'+'2222'
这个时候A的长度就可以超过255了。
2、动态数组:A:Array of integer,B:integer;
我们声明一个动态数组:
SetLength(A,10);
A[0] := 1;
A[1] := 1;
FillChar(A,sizeof(A),#0);
B:= A[1];
这个时候程序会出现违法访问地址的错误。
这就说明了,动态数组,当FILLCHAR的时候从新设置了动态数组的长度。调整了FILLCHAR的位置,只要FILLCHAR在SetLength的下边的时候
就会出现异常。
上边的分析得出一个结论 当动态数组设置完长度后不需要FILLCHAR,如果需要重置动态数组到初始状态的时候,那么我们可以利用FILLCHAR长度的sizeof(A);
但是注意如果这样写
FillChar(A[1],sizeof(Integer),#0);
这样是完全正确的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐