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.

What you'll learn in this C course

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

Read reviews of their learning experiences

good

(5/5)
Dev Kumar Pal profile image

Dev Kumar Pal

India

A good refresher for coding in C.

(3/5)
Kyle Davidson profile image

Kyle Davidson

United States

There was a couple tasks that seem to be missing explanations for some things. Unfortunately I can't remember which of the tasks has it. Some basic stuff at closer to the begining of the cource

(4/5)
Pavel Shevtsov profile image

Pavel Shevtsov

Georgia

OMG, it is so hard but I finally got through it. Loved the course so much more useful than just reading a book! I will need to spend some time to revisit the concepts even after finishing this. I guess drawing diagrams would be needed at some point!

(5/5)
Tin Wai Wong profile image

Tin Wai Wong

United Kingdom

the instructions werent clear enough in many places, some information was left out or provided by a link that took you to an explanation of a function that was a bit too hard to read unless you are an expert. It would be difficult to get through this course without outside help in its current state.

(2/5)
Kyler Grimm profile image

Kyler Grimm

United States

I learned a lot, but I still feel stupid regarding C

(5/5)
Mattias  profile image

Mattias

Denmark

I really liked how everything was done, there's a couple of stuff that aren't that clear, but overall it was an excellent experience building something that's actually used on REAL LIFE, thanks!

(5/5)
Guillermo  profile image

Guillermo

Portugal

solid; gas;

(5/5)
Miles Berry profile image

Miles Berry

United States

its so hard to understand but we needed this

(4/5)
trent kipper profile image

trent kipper

Turkey

Showing 1-9 of 568

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.