C for Mere Mortals
Plain-language guides to the C programming language, written for people who want to understand what the computer is actually doing — no CS degree required.
No jargon without an explanation. No "it's simple, just..." Every concept starts with the idea, then the code.
One honest note up front: C is less forgiving than Python. It won't stop you from making mistakes — it assumes you meant what you wrote. These guides respect that instead of hiding it.
Start here
- What C Is — what it is, where it lives, and why learn it in the first place.
- Installing a Compiler — Windows, Mac, and Linux, with checks that it worked.
- Your First Program — the edit-compile-run cycle, with checks along the way.
The building blocks
- Variables and Types — integers, decimals,
characters, and telling
printfwhat you gave it. - Control Flow — decisions and repetition: if, for, while — with braces and semicolons.
- Functions — declarations, definitions, and headers.
- Pointers — the big one: addresses, explained plainly.
- Memory Basics — stack vs. heap, malloc and free, and the rules that prevent crashes.
Reference
- Troubleshooting — compiler errors, linker errors, and segfaults, plain fixes.
- Glossary — quick definitions, A to Z.
Writing criteria
Every guide follows the same writing criteria: plain words, no hype, honest limits, and checkable steps.