Delphi数组指针的使用
1、打开Delphi7集成开发环境,在默认工程的Form1窗体,放一个Button1控件。

2、双击Button1按钮,进入事件方法,写如下代码:
procedure TForm1.Button1Click(Sender: TObject);
type
TArrC = array[0..255] of Char;
PArrC = ^TArrC;
var
arrC: PArrC;
begin
New(arrC);
arrC^ := '大家好';
ShowMessageFmt('%s%s', [arrC[0], arrC[1]]);
Dispose(arrC);
end;
定义了一个静态数组类型和指向这个静态数组的指针类型,使用New为指针分配静态数组大小的空间,DisPose来释放空间
3、F9运行程序,点击Button1按钮,会弹出指针指向的第一个、二数组元素,因为Delphi7是AnsiChar,所以需要两个AnsiChar才能显示一个汉字。

4、Delphi动态数组本身就是指针,只需使用SetLength来分配和释放空间,双击Button1,修改Button1事件方法如下:
procedure TForm1.Button1Click(Sender: TObject);
var
arr: array of Char;
begin
SetLength(arr, 3);
arr[0] := '1';
arr[1] := '2';
arr[2] := '3';
ShowMessageFmt('%s,%s,%s', [arr[0],arr[1],arr[2]]);
SetLength(arr, 0);
end;

5、F9运行程序,点击Button1按钮,会弹出对话框显示动态数组内容1,2,3。

6、对于Delphi动态数组和静态数组指针分配内存方法,就是以上三个,静态数组New和Dispose来分配和释放,动态数组则通过SetLength()函数。