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

Learn Memory Management in C

Get close to the metal: pointers, the stack, the heap, and a tiny garbage collector you build yourself.

Browse Lessons (read-only)

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 32,649 students in the Learn Memory Management in C course

Read reviews of their learning experiences

hard

(3/5)
Lucas Strauss profile image

Lucas Strauss

United States

It was a good course, but man do I hate c programming. xD Memory management is hard.

(3/5)
David Rutherford profile image

David Rutherford

United States

It's tough, but interesting. Now I want to work in low level stuff. Rust here I come.

(5/5)
Abdullah Shahad profile image

Abdullah Shahad

Bangladesh

Very tough course.

(5/5)
Mike Davidson profile image

Mike Davidson

Flat Rock, USA

C is awful. But learning how things work under the hood was cool. But man I never want to touch C again.

(2/5)
DrProfWallaby  profile image

DrProfWallaby

United States

A rewarding course in C memory management, I found it hard conceptually at first but studied the key concepts over and practiced until I understood pointer and the memory concepts required. The last few chapters are a challenge and require focus and dedication to complete. Mark and Sweep is abstract but it works. Building the snek_objects is the best part as it really shows of C fundamentals!

(4/5)
Jon Mann profile image

Jon Mann

United Kingdom

Amazing course! Very insightful and excellently designed, I learned so much about how memory works under the hood in all my programs!

(5/5)
Yuri  profile image

Yuri

United States

Solid course to teach memory management in C. It is nice to understand how a garbage collector works.

(4/5)
Louis Van Steelant profile image

Louis Van Steelant

Bruges, Belgium

This was a hard one and wasnt what i like BUT i Learned alot ! THANKS!

(5/5)
Andreas Lindh profile image

Andreas Lindh

Sweden

Showing 1-9 of 508

Browse Lessons (read-only)

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.