malloc -- Dynamic Storage Allocation
The standard library function malloc is used to obtain a block of storage.
It is an extremely low-level function ---its argument is the number of bytes or words to be allocated (typically obtained using operator sizeof).
It returns an untyped pointer, which must be cast to the desired type.
Allocated storage must be explicitly freed by calling procedure free. There is no automatic garbage collection