

delphi7中的指针
@地址,^前定指针后获数据
@放变量前,表获取该变量的地址,可把地址赋给同样变量类型的指针
^放数据类型前,表定义了该类型的一个指针变量
^放后面,表获取该指针指向地址空间的内容
ph: PansiChar; //定义ansichar类型的指针
示例:
type
Pint=^integer; //定义一个整形指针
var
pt:pint; //定义一个整形指针
p:pointer; //定义一个无类型指针,可以指向任何变量
a,b:integer;
begin
a:=2;
b:=3;
pt:=@b; //获取b变量的地址给整形指针,因为b本身是整形,指针pt也是整形
memo1.Lines.Add(IntToStr(Integer(pt))); //输出指针pt的地址
p:=@a; //把a的地址给p,p为无类型指针,可指向任何数据,@为获取变量地址
b:=p^ //这里错误,b有类型,而p为无类型的指针不能赋值,
b:=Integer(p^); //将无类型的指针转为整形才能赋给整形变量
Memo1.Lines.Add(IntToStr(b));
pt:=p; //指针间赋值不需类型相同,
Memo1.Lines.Add(IntToStr(pt^));
end