Simple play icon Course

Managing Data and Memory Allocation in C

by Zachary Bennett

Dynamic memory management is a core part of any program written in C. This course will teach you how to safely allocate memory at runtime and will give you the tools you need to facilitate the creation of C programs that are memory-efficient.

What you'll learn

There are far too many programs and applications today that use too much memory. These computer programs take advantage of the relatively large amount of memory available on the average computer today. In this course, Managing Data and Memory Allocation in C, you will learn how to dynamically allocate memory in a safe and efficient manner. First, you’ll explore the different memory segments available to a C program and you’ll learn how memory is dynamically allocated from the heap segment. Next, you’ll discover the different memory functions available for use within the C standard library and how to use pointers along with these functions and arrays in order to dynamically allocate and free memory at runtime. Finally, you’ll learn how to allocate memory for data structures in your application. You will create your own fixed-block memory pool manager. When you’re finished with this course, you’ll have the skills and knowledge of memory management within C needed to create safe and memory-efficient programs and applications.

About the author

Zach is currently a Lead Software Developer at OpalSoft where he uses tools such as Scala, TypeScript, Python, Docker, Node, and Angular. Zach has a passion for GIS programming along with open-source software. You can view some of his work on GitHub ( and Stack Overflow (

Ready to upskill? Get started