C Course
C is the language most of the software you use every day is either written in or descended from — operating system kernels, interpreters for other languages, embedded firmware, database engines. It doesn't hide the machine from you, which is exactly why it's worth learning: once you understand C, the "magic" behind memory, pointers, and how a program is actually structured stops being magic.
What you'll learn
This course starts with the basics of compiling and running a program, then works through the core language piece by piece: types, operators, control flow, functions, and arrays. The second half is where C really earns its reputation — strings as raw character data, pointers as addresses you can read and write directly, structs for grouping data, and manual memory management with malloc and free. Every code sample in this course was checked against what gcc actually produces, output included, so you can trust what you see on the page.
Lessons
- Introduction
- Variables & Data Types
- Operators
- printf & scanf
- Conditionals
- Loops
- Functions
- Arrays
- Strings
- Pointers
- Structs
- Memory & malloc/free
malloc and free make sense (lesson 12). Skipping ahead tends to mean back-filling later.