This chapter describes functions for allocating memory on the heap or stack in C. It discusses brk(), sbrk(), malloc(), and free() for allocating memory on the heap by adjusting the program break and using memory pools. It also covers calloc(), realloc(), memalign(), and alloca() for specialized memory allocation needs, like initializing to zero, resizing blocks, aligned blocks, and stack allocation. Tools for debugging memory allocation like mtrace(), mcheck(), and MALLOC_CHECK are also outlined.