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;