malloc C's standard library routine for storage allocation. It takes the number of bytes required and returns a pointer to a block of that size. Storage is allocated from a heap which lies after the end of the program and data areas. Memory allocated with malloc must be freed explicitly using the "free" routine before it can be re-used.
gc is a storage allocator with garbage collection that is intended to be used as a plug-in replacement for malloc.