概述
System单元的Move过程用来把指定内存段的数据整块复制到另一内存段中,它通常用来成批移动数组元素。Move的格式是Move(var Source, Dest; Count: Word),Source是数据源,Dest是目标内存段,Count是复制的字节数。你不必担心源内存段会和目标内存段重叠或者重合,在这种情况下Move仍然能够正确工作,参考下面的样例:
var I: Integer; P: array[0..9] of Longint; begin for I := 0 to 9 do P[I] := I; Move(P[4], P[2], 4 * 6); //从P[2]移6个longint 到P[4] for I := 0 to 9 do Writeln(P[I]: 4); end.
0123456789 à 0145678989
值得注意的是Count的大小,这与identifier的类型(所占字节数)有关,以下给出参考
byte,shortint |
|
word,integer |
|
longint |
|
|
|
single |
|
real |
|
|
|
extended |
|
|
|
char |
|
|
|
string |
1(per char)* |
*例 Var a:string 'a:='12345'; move(a[4],a[1],2); a="45345"
基本上Pascal里常用的就这些了
另外,所占字节数不同不能move(不是数组,Count选字节数大的,有时也是可以的),不同类型不能move,否则会搞得乱七八糟,而往往因move错误地使用造成的 答案错误、死循环 很难发现!
最后
以上就是隐形钻石为你收集整理的Pascal Move的用法的全部内容,希望文章能够帮你解决Pascal Move的用法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复