C Tutorial

C is the lingua franca of systems programming: the language of UNIX, Linux kernels, embedded devices, and the universal external interface of every other language. Created at Bell Labs by Dennis Ritchie in 1972, it is small, predictable, and unforgiving — and it rewards disciplined engineers with complete control over the machine. This roadmap teaches C honestly: what it does brilliantly, where it hurts, and how modern successors like Zig and Oberon compare.

Scope: Study the lessons in order, compile every example locally with GCC or Clang (gcc -Wall -Wextra -std=c11 file.c -o app), and revisit the index for targeted reference.

C Study Progress

0% Complete
# C Topic Description
PHASE 1: LANGUAGE FOUNDATIONS
01Why C & Thinking in COrigins, purpose, and an honest look at C compared with Zig and Oberon.
02Toolchain & First ProgramInstall GCC or Clang, compile, lint, and run your first program safely.
03Lexical StructurePunctuation, keywords, comments, statements, and expressions.
04Data Types & ConversionsPrimitive types, qualifiers, and the implicit/explicit conversion rules.
05Arrays, Structs, UnionsArrays, structs, unions, enums, bit-fields, and typedef.
06Pointers & ArraysAddresses, dereferencing, pointer arithmetic, and pointer-to-pointer.
PHASE 2: PROGRAM EXECUTION
07Functions & ScopePrototypes, recursion, scope, linkage, static, and variadic functions.
08Control FlowConditionals, loops, break/continue, switch, and goto.
09Input & Outputprintf/scanf formats, robust text input, and standard file I/O.
PHASE 3: MEMORY & PRECOMPILATION
10The Preprocessor#include, #define, macros and their pitfalls, include guards, #if.
11Dynamic MemoryStack vs heap, malloc/calloc/realloc/free, leaks, and sanitizers.
12Error HandlingReturn codes, errno, perror/strerror, setjmp/longjmp, and assertions.
13StringsChar arrays vs pointers, NUL termination, and safe string functions.
PHASE 4: DATA STRUCTURES & ALGORITHMS
14Data StructuresLinked lists, dynamic arrays, stacks, queues, hash tables, and BSTs.
15AlgorithmsSorting, searching, recursion, memoization, and complexity analysis.
PHASE 5: ADVANCED C
16Advanced CFunction pointers, callbacks, bit manipulation, endianness, type punning.
17Parallel & MulticoreThreads, atomics, mutexes, OpenMP, SIMD, and MPI for the CPU.
18GPU ComputingKernels, memory transfers, and CUDA / OpenCL / SYCL on many-core devices.
19ABI & AssemblyCalling conventions, inline asm, C-to-assembly interop, and assembler choices.
PHASE 6: PRACTICE & DEMO
20Lab ExamplesRun and modify single-file practice demos for every lesson.
21Study ProjectsComposed mini-projects: linked list, vector library, hash table tool.
PHASE 7: REFERENCE
22References & CompilersBrowser playgrounds, official docs, free courses, and sample repos.
Credits: Lesson content drafted with DeepSeek via Fireworks AI. References: free tutorials below.

Free References

For the full categorized table — online C playgrounds, official documentation, courses, and sample repos — see the References & Compilers page.