For managing dynamically allocated memory, the standard C library provides the functions malloc(), calloc(), realloc() and free(). In C99 and later, there is also aligned_alloc().  Some systems also provide alloca().
 
void *aligned_alloc(size_t alignment, size_t size); /* Only since C11 */
voi...