指针类型
指针是表示内存地址的一个变量类型。例如,当一个指针变量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直接定义声明。
编程语言无所谓高低级,唯适用罢了。语言结构再天花乱坠,富丽堂皇终不过CPU上的0和1。