Pascal Move的用法

 更新时间:2021年11月16日 23:08:41   投稿:mdxy-dxy  
这篇文章主要介绍了Pascal Move的用法,需要的朋友可以参考下

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

 1
 

word,integer

 2
 

longint

 4
   
 

single

 4
 

real

 6
    double,comp  8
 

extended

 10
   
 

char

 1
     boolean  1
 

string

 

1(per char)*

  *例 Var a:string 'a:='12345'; move(a[4],a[1],2); a="45345"

基本上Pascal里常用的就这些了

另外,所占字节数不同不能move(不是数组,Count选字节数大的,有时也是可以的),不同类型不能move,否则会搞得乱七八糟,而往往因move错误地使用造成的 答案错误、死循环 很难发现!

相关文章

  • HTTP中ETag语法及使用实战详解

    HTTP中ETag语法及使用实战详解

    这篇文章主要为大家介绍了HTTP中ETag语法及使用实战详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • App开发建议技巧

    App开发建议技巧

    有同学问我,对应用开发你有没有值得注意或小技巧的地方可以分享的。比如适配、优化、排查错误什么的。鸡排把自己的总结笔记整理出来了。供大家参考
    2018-01-01
  • 详解软件系统稳定性的三大秘密

    详解软件系统稳定性的三大秘密

    随着软件复杂性越来越高,稳定性的保障越来越难,随着服务规模越来越大,稳定性的重要性越来越高。工程师在设计和开发软件的时候,要坚持底板思维。
    2021-05-05
  • H5混合开发手机Web App入门:概念篇

    H5混合开发手机Web App入门:概念篇

    如果你开始学习手机 App 开发,就一定会听到 H5 这个词。它是目前的主流开发技术之一,容易上手,开发周期短、成本低、兼容传统 Web 开发。但是,很少有文章详细介绍,H5 到底是什么技术,有什么原理,跟其他技术的差异在哪里。
    2022-12-12
  • TCP的三次握手与四次挥手详细介绍

    TCP的三次握手与四次挥手详细介绍

    这篇文章主要介绍了TCP的三次握手与四次挥手详细介绍的相关资料,需要的朋友可以参考下
    2017-03-03
  • 漫谈架构之微服务

    漫谈架构之微服务

    微服务的架构出现已经很久很久了,微服务架构就是一种将单个应用程序转换为一组小服务的方法,每个小服务都在自己的进程中运行,并使用轻量级的交互方式(如HTTP)进行通信
    2021-06-06
  • Sqoop的安装与使用详细教程

    Sqoop的安装与使用详细教程

    Sqoop是一款开源的工具,主要用于在Hadoop与传统数据库间进行数据的传递,这篇文章主要介绍了Sqoop的安装与使用详细教程,需要的朋友可以参考下
    2021-04-04
  • PE文件结构详解

    PE文件结构详解

    这篇文章主要介绍了PE文件结构详解,需要的朋友可以参考下
    2020-01-01
  • 浅谈服务发现和负载均衡的来龙去脉

    浅谈服务发现和负载均衡的来龙去脉

    单机时代,传统软件大多是单体/巨石架构(Monolithic)。大家往一个代码仓库提交CODE,这会导致应用膨胀,以及扩展受限,无法按需伸缩等诸多问题。单体架构怎么解决多人合作的问题?模块化,按功能拆分,模块之间定义编程接口(API)。本篇文章带你详细了解。
    2021-05-05
  • java与c#的区别、两者有什么不同?

    java与c#的区别、两者有什么不同?

    Java和C#都是一门面向对象的语言,Java更多地借鉴了C++的优点,而摒弃了它的一些不太容易被人掌握的知识点(有些不能说是缺点),并且增加了一些自己的特点,而C#则是更多地借鉴了Java的优点,而增加了一些自己的特点
    2013-04-04

最新评论