#include <stdlib.h> void *malloc(size_t size); void
*calloc(size_t nelem, size_t elsize); void free(void *ptr); void
*memalign(size_t alignment, size_t size); void *realloc(void
*ptr, size_t size); void *valloc(size_t size); #include
<alloca.h> void *alloca(size_t size); The malloc() and free()
functions provide a simple, general-purpose memory allocation
package. The malloc() function returns a pointer to a block of
at least size bytes suitably aligned for any use. If the space
assigned by malloc() is overrun, the results are undefined. The
argument to free() is a pointer to a block previously allocated
by malloc(), calloc(), or realloc(). After free() is executed,
this space is made available for further allocation by the
application, though not returned to the system. Memory is
returned to the system only upon termination of the application.
If ptr is a null pointer, no action occurs. If a random number
is passed to free(), the results are undefined. The calloc()
function allocates space for an array of ne