指针类型

指针是表示内存地址的一个变量类型。例如,当一个指针变量PP含有P变量时,指针PP就指向了变量P在内存中的地址,或者可以

说成指针PP指向了变量P中所保存的数据。如果指针PP是一个结构类型的变量,则指针PP就会指向变量P的第一个元素。

声明指针类型:

1 Type
2     指针名称 =^ 基类型;//根据预定义类型声明一个指针
3 var
4     指针变量名称: 指针名称;//定义一个指针变量

指针类型的使用:

 1 procedure TForm1.Button6Click(Sender: TObject);
 2 Type
 3   pp = ^Integer;  //指针类型
 4 var
 5   p1 : pp; //在type处声明为指针类型。
 6   x : integer;
 7 begin
 8   x := 101;
 9   p1 := @x; //@ 运算符在变量名层的前面,表示获取当前变量的所在的内存地址。
10   edit8.Text := inttostr(p1^);//^ 在指针后面,获取指针所指向的数据。
11 end;

最后输出数值为101。

 1 procedure TForm1.Button1Click(Sender: TObject);
 2 var
 3   A: Integer;
 4   B: string;
 5   PA: PInteger;//声明为指针类型
 6   PB: PString;
 7 begin
 8   A := 1;
 9   B := 'Hello';
10   PA := @A;
11   PB := @B;
12   ShowMessage(IntToStr(PA^)); //结果为1
13   ShowMessage(PB^);//结果为Hello
14 end;

以上两种指针类型的声明均可,可以看出第一种是在type下使用预定义类型来声明并使用 ^符号,第二种则是在var下使用PInteger直接定义声明。

原文地址:https://www.cnblogs.com/fansizhe/p/12602767.html