Delphi中如何将数组转换为指针
Delphi中如何将数组转换为指针?
关于DELPHI数组,指针,字符串转换的例子:
var
aa: array [0..5] of Char
bb:Pointer
cc:string
dd:PChar
procedure TForm1.Button1Click(Sender: TObject)
begin
dd:=abcdef
//以下是pchar内容转数组
FillChar(aa,length(dd),#0)
Move(dd^,aa,SizeOf(aa))
//以下是数组传递到指针
bb:=GetMemory(SizeOf(aa))
Move(aa,bb^,SizeOf(aa))
//以下是指针内容传递给字符串
SetLength(cc,SizeOf(aa))
Move(bb^,cc[1],SizeOf(aa))
FreeMemory(bb)//这个是释放内存
//以下是数组转pchar
dd:=
dd:=PChar(@aa)
MessageBox(0,PChar(cc: cc),PChar(dd: dd),0)
end
关于这个问题,在Delphi中,数组名本身就是指向数组第一个元素的指针。因此,如果要将数组转换为指针,只需要使用数组名即可。
例如,假设有一个整型数组arr,可以将其转换为指针p,如下所示:
var
arr: array[0..9] of Integer
p: PInteger
begin
p := @arr[0] // 将数组转换为指针
end