Delphi7
Windows电脑
打开Delphi7集成开发环境,在默认工程的Form1窗体,放一个Button1控件。
双击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来释放空间
F9运行程序,点击Button1按钮,会弹出指针指向的第一个、二数组元素,因为Delphi7是AnsiChar,所以需要两个AnsiChar才能显示一个汉字。
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;
F9运行程序,点击Button1按钮,会弹出对话框显示动态数组内容1,2,3。
对于Delphi动态数组和静态数组指针分配内存方法,就是以上三个,静态数组New和Dispose来分配和释放,动态数组则通过SetLength()函数。