Skip to content

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

  1. What C Is — what it is, where it lives, and why learn it in the first place.
  2. Installing a Compiler — Windows, Mac, and Linux, with checks that it worked.
  3. Your First Program — the edit-compile-run cycle, with checks along the way.

The building blocks

  1. Variables and Types — integers, decimals, characters, and telling printf what you gave it.
  2. Control Flow — decisions and repetition: if, for, while — with braces and semicolons.
  3. Functions — declarations, definitions, and headers.
  4. Pointers — the big one: addresses, explained plainly.
  5. Memory Basics — stack vs. heap, malloc and free, and the rules that prevent crashes.

Reference

  1. Troubleshooting — compiler errors, linker errors, and segfaults, plain fixes.
  2. Glossary — quick definitions, A to Z.

Writing criteria

Every guide follows the same writing criteria: plain words, no hype, honest limits, and checkable steps.