Réponse acceptée !
^ est un operateur pour les pointeurs.
en gros :
var P : pointer;
begin
P := @variable; { on assigne l'addresse memoire de variable a P }
P^ := valeur; { on assigne valeur a la variable pointée par P }
end; donc on as :
pointeur [@ addresse memoire][^ valeur]
dans ton code :
assoc est un pointeur sur AssocRecord
donc :
type
PAssocRecord = ^TAssocRecord; {pointeur sur type }
TAssocRecord = record { structure }
Key : ...
Value : ...
end;New(Assoc) { alloue un espace memoire pour un nouvel item de type TAssocRecord }
Assoc pointe sur l'addresse memoire de la structure alloué par New()
Assoc^ permet d'acceder a cette structure.