We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.

Learn Memory Management in C

Learn how to manually manage memory in C and build a garbage collector from scratch.

What will you learn?

Memory management is something that every programmer needs to deal with and understand at some point. If you're used to working with languages and tools that handle it for you, this course will teach you how all that works under the hood. You'll even build your own garbage collectors from scratch. This course will teach you the C basics you need for the course, but it's not a course about C, it's about memory.

Chapter List

1
C Basics
Introduction to the basics of the C programming language
2
Structs
Understand how C structs work and how they're laid out in memory
3
Pointers
You thought pointers were hard? Wrong. Let's figure them out together.
4
Enums
Learn how to use enums (enumerations) in C to create a set of named constants.
5
Unions
Unions in C are not the same as they are in TypeScript. Let's grok C unions.
6
Stack and Heap
Understand the difference between allocating memory on the stack and the heap
7
Advanced Pointers
Let's practice some more advanced pointer concepts - like pointers to pointers
8
Stack Data Structure
Build a stack in C using structs and pointers and understand where the memory is allocated
9
Objects
Implement your own object system for later use in your garbage collection algorithms
10
Refcounting GC
Implement a simple reference counting garbage collector from scratch in C
11
Mark and Sweep GC
Implement a basic mark and sweep garbage collector and understand its tradeoffs with refcounting

Join 29,401 students in the Learn Memory Management in C course

Read reviews of their learning experiences

Useful info.

(3/5)
Tyler Shetrompf profile image

Tyler Shetrompf

United States

Amazing Course!

(5/5)
Domingo Batista profile image

Domingo Batista

Dominican Republic

Starts easy, but at the end it becomes really challanging. Sometimes I did not really know what I actually did and just went on with the assignment. Overall it is an amazing sneak peek into the complex machinery of a garbage collected language like python. I really enjoyed the journey into the world of C.

(5/5)
Thomas Hultsch profile image

Thomas Hultsch

Germany

Hard course for new c players;

(3/5)
Erfan Alizadeh Noohi profile image

Erfan Alizadeh Noohi

Turkey

Intersting course; great change of scene from the ususal programming style. Must know knowledge for anyone looking to be that bit more as a programer. You dont learn this with javascript.

(5/5)
Davey  profile image

Davey

Somewhere, Earth

One of the best courses on boot.dev!

(5/5)
Donna Marijne profile image

Donna Marijne

United Kingdom

This was a fun and sometimes challenging course. Been some time I worked in C and using pointers. Good to understand how garbage collectors work and to implement the logic for ref counting and mark and sweep.

(5/5)
Conrad van Woudenberg profile image

Conrad van Woudenberg

Delft, The Netherlands

Pointers are confusing, and C is very particular. But it's incredibly rewarding to climb that mountain. Boots is always there to sherpa the way.

(5/5)
Ben Lewis profile image

Ben Lewis

United States

its comprehensive, but still easy to grasp and understand. boots is also helpful at rephrasing concepts and helping you understand them better

(5/5)
MJ  profile image

MJ

Netherlands

Showing 1-9 of 411

or view more reviews

Mediocrity doesn't cut it anymore

The only way to become a great developer is to write a lot of code

Avoid tutorial hell

by writing a ton of code

Stay motivated with

a game-like curriculum

Build portfolio projects

to prove your skills

Delve deeper

into foundational concepts

Learn flexibly online

without interrupting your life

For 1% the price of college

to minimize your financial risk

Frequently asked Questions

Got questions? We've got answers

Yes! It's free to create an account and start learning. You'll get all the immersive and interactive features for free for a few chapters. After that, if you still haven't paid for a membership, you'll be in read-only (content only) mode.