Delphi指针

DELPHI指针用法

@取地址,^取内容或声明指针。

TestFun与TestFun2函数效果一样。

procedure TForm1.TestFun(P:pchar;Len:integer);
var
  i:integer;
  c:Byte;
begin
  for i:=0 to Len-1 do
  begin
    c:= Byte((@P[i])^); //如果运用下标,P前加上@符号。后面必须加上^。。

   或者   

    c:= Byte(P[i]);     //可能是Delphi编译器自动对有下标的指针直接取指针地址中的内容了
    ShowMessage(IntToStr(C));
  end;
end;

procedure TForm1.TestFun2(P:pchar;Len:integer);
var
  i:integer;
  c:Byte;
begin
  for i:=0 to Len-1 do
  begin
    c:= Byte((P)^);    
    ShowMessage(IntToStr(C));
    inc(P);    //指针向后移动
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Buffer:array[1..2]of Byte;
begin
  Buffer[1]:=100;
  Buffer[2]:=200;
  TestFun(@Buffer,2);
  TestFun2(@Buffer,2);
end;

 

posted @ 2010-06-01 14:02  老二  阅读(219)  评论(0编辑  收藏  举报