Part 1Getting startedprintf, variables, operators, then choices and loops.7 lessons · 2 h
Part 2Functions and arraysYour own functions, arrays, and strings the C way.7 lessons · 2 h
Part 3PointersAddresses, pointers, and what it looks like when they go wrong.4 lessons · 1 h
Part 4MemoryThe stack and the heap, malloc and free, memory leaks.4 lessons · 1 h
Part 5Your own typesStructs, typedef, enum, and a linked list of your own.4 lessons · 1 h
Part 6Going furtherFiles, macros, bitwise operators, and a small project.4 lessons · 1 h
Questions
Is it really free?
Yes. Every lesson, example and exercise is free, and there is no account to make.
Do I need to install a compiler?
No. The code compiles and runs in your browser with the same results as gcc, and you can watch memory change one line at a time.
Is it real C?
It is C11. Every example in the course is checked against gcc, output and error messages included. A few things (variable-length arrays such as int a[n], for one) are not supported yet, and you are told so when you hit them.
Can C be my first language?
Yes. Lesson 1 starts with printf, and each lesson uses only what came before. C is wordier than Python, though; if you have never coded, Python first makes it easier.
How long does it take?
Each lesson takes 15 to 20 minutes. One or two a day and you are done in about a month. Go slowly through pointers and memory, and press Step a lot.
Can I learn on my phone?
Yes. Reading, running, stepping and the exercises all work on a phone; longer exercises are easier with a keyboard.
Where is my progress saved?
In this browser, with no account. On another device, or after clearing your browser data, it is gone.
What comes after C?
C++ if you want to build bigger programs; data structures and algorithms if you want strong foundations.