zoukankan      html  css  js  c++  java
  • Delphi用指针读取数组某个元素

    要点:

    1.TBytes和C++里面的数组一样,数组名就是数组的首地址。而array [..] of char 不是指针,需要用取地址符号读地址@

    2.要获取TBytes某个元素位置的指针, 应该是 @MyTByteArr[x]; 但随着数组的再分配, 这个地址是变化的

    3.SetLength设置数组长度

    4.Ord是取字符对应的数字

    program MyArray; //数组
    {$APPTYPE CONSOLE}
    uses
      SysUtils;
    
    {用指针读取数组某个元素}
    procedure MyFunc1();
    var
      i: Integer;
      p: PByte;
      MyTByteArr: TBytes;//TByte本身是个指针
      MyArrChar : array [1..50] of char;//MyArrChar本身不是指针
    begin
    {输出MyArrChar数组}
      StrCopy(@MyArrChar, '田攀学Delphi!'); //数组名@取地址作为数组地址
      Writeln(PChar(@MyArrChar));{田攀学Delphi!}
    {输出}
      SetLength(MyTByteArr, 5); //数组名作为数组地址
      for i := 0 to 4 do MyTByteArr[i] := i + 65;
      Writeln(StringOf(MyTByteArr)); {ABCDE}
    {取单个字符}
      p := PByte(MyTByteArr);
      Writeln(Chr(p^)); {A}
      p := PByte(@MyTByteArr[2]);
      Writeln(Chr(p^)); {C}
      p^ := Ord('-');   //Ord是取字符对应的数字
      Writeln(StringOf(MyTByteArr)); {AB-DE}
    end;
    
    {main主函数}
    begin
     MyFunc1;
     Readln;
    end.


     

  • 相关阅读:
    js+分布上传大文件
    java+大文件断点续传
    word粘贴图片到ekitor
    ckeditor从word粘贴图片
    word粘贴图片到ckeitor
    2g 大文件上传
    php+大视频文件上传+进度条
    java+Word图片上传控件
    断点续传管理系统
    富文本编辑器粘贴复制Word
  • 原文地址:https://www.cnblogs.com/GodPan/p/3390426.html
Copyright © 2011-2022 走看看