Skip to content
BoKSA

C programming

C Programming

This section teaches C as embedded engineers use it — not just syntax, but memory, types, data structures, and what happens between your source file and the binary on the chip.

Articles are written to be read in order. Each one explains why a concept exists before showing code. Look for "In plain terms" boxes when you want the simplest possible mental picture.

Reading order

  1. C types and macros — what int and uint8_t really mean; safe #define habits
  2. Pointers in C — addresses, & and *, strings, endianness
  3. Pointers in depth — functions that change your data, arrays, callbacks
  4. Dynamic memory and I/O — stack vs heap, files, command-line options
  5. Structures and user types — struct, typedef, union, enum
  6. Data structures in C — lists, queues, stacks, trees
  7. GCC toolchain in depth — what the compiler and linker actually do
  8. Assembly language — reading the machine's native language

Before you start

You should know basic C: variables, if/else, loops, arrays, functions, and bit operations. If computer architecture feels new, read Foundations first — especially Data representation for bits and bytes.

After this section