type
TFoo = record X: Integer; end;
PFoo = ^TFoo; //PFoo is a pointer to a TFoo structure
var
Foo: TFoo;
P: PFoo;
begin
Foo.X := 1;
P := @Foo; //P now points to Foo
writeln(Foo.X); //shows 1
writeln(P^.X); //shows 1, the ^ after is called dereferencing
Foo.X := 2;
P^.X := 3;
writeln(Foo.X); //shows 3, since P^.X is the same as Foo.X
end.
Bart