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

Read reviews of their learning experiences

A great look at pretty much every feature in C and how memory is managed. Ideal if you want a challenge and to learn about the kinds of algorithms and data structures being used in higher level C-based languages, operating systems and other C software.

(5/5)
JLH M profile image

JLH M

Australia

Never have seen C before. But, in order to learn Odin, I thought this course was a great course to see what's up. Last few parts were really difficult because I was not used to it, but at least I finished the course. I will go over again one by one.

(5/5)
Harim Yoo profile image

Harim Yoo

South Korea

This course was incredibly informative and occasionally difficult. I feel like I have a much better appreciation for the "magic" that happens behind the scenes in higher level languages.

(5/5)
Bryce Croft profile image

Bryce Croft

United States

C is a psychopathic language that makes you feel like you have the biggest brain in the world 10/10

(5/5)
decoy  profile image

decoy

Germany

For years I've searched, and finally I've found a course that helps me understand how I can manage memory without chasing compiler errors by adding "free"s and "malloc"s haphazardly. Creating a GC from scratch is a great way to understand how they work _and_ how manual memory management is still at the center of it.

(5/5)
Lord Honk profile image

Lord Honk

Germany

TJ is kewl

(5/5)
Omota Paul-Daniel profile image

Omota Paul-Daniel

Alges, Portugal

Great course, still I hope the exercise are less guided

(5/5)
Long Pham profile image

Long Pham

Tampere, Finland

This very informative course really stretched my brain, in a good way! I was really excited to learn this aspect of coding!

(5/5)
Circe Nova profile image

Circe Nova

United States

tough, but a great course to learn about both C and memory management in lower level languages!

(5/5)
nicholas kasbar profile image

nicholas kasbar

United States

Showing 1-9 of 547

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.