[Overview][Constants][Types][Classes][Procedures and functions][Variables] |
Release allocated memory
Source position: line 0
procedure Freemem( |
p: pointer; |
Size: PtrInt |
); |
p: pointer |
):PtrInt; |
Freemem releases the memory occupied by the pointer P, of size Count (in bytes), and returns it to the heap. P should point to the memory allocated to a dynamic variable.
An error will occur when P doesn't point to the heap.
|
Allocate new memory on the heap |
|
|
Dynamically allocate memory for variable |
|
|
Free dynamically allocated memory |
Program Example28; { Program to demonstrate the FreeMem and GetMem functions. } Var P : Pointer; MM : Longint; begin { Get memory for P } MM:=MemAvail; Writeln ('Memory available before GetMem : ',MemAvail); GetMem (P,80); MM:=MM-Memavail; Write ('Memory available after GetMem : ',MemAvail); Writeln (' or ',MM,' bytes less than before the call.'); { fill it with spaces } FillChar (P^,80,' '); { Free the memory again } FreeMem (P,80); Writeln ('Memory available after FreeMem : ',MemAvail); end.