About this Learning Path

Who is this for?

This is an introductory topic for software developers learning about dynamic memory allocation for the first time, and who may have used malloc and free in C programming. It also provides a starting point to explore more advanced memory allocation topics.

What will you learn?

Upon completion of this learning path, you will be able to:

  • Explain how dynamic memory allocation and the C heap works
  • Write a simple dynamic memory allocator
  • Explain some of the risks of heap allocation in general


Before starting, you will need the following:

  • Familiarity with C programming, with a good understanding of pointers.
  • A Linux machine to run the example code.