← Languages

C

Full course · 21 lessons

C is the foundational systems programming language that powers operating systems, embedded devices, databases, and virtually every major software infrastructure. These are the definitive free resources — vetted, current, and complete.

Knowledge Course
01

Getting Started with C

Set up a C toolchain with gcc, understand compile/run, main function, and standard streams.

45 min
02

Variables and Data Types

Integral and floating types, fixed-width types, sizeof, and enumeration.

60 min
03

Operators and Expressions

Arithmetic, comparison, logical, bitwise operators, and precedence.

60 min
04

Control Flow

if/else, switch, for, while, do-while loops, and jump statements.

60 min
05

Functions and Prototypes

Function declarations, pass-by-value, pass-by-pointer, and recursion.

60 min
06

Arrays and Strings

One and multi-dimensional arrays, null-terminated strings, string.h.

60 min
07

Pointers

Address-of, dereference, pointer arithmetic, pointer-to-pointer, void*.

75 min
08

Structs and Unions

Struct declaration, member access, arrow operator, copies, unions.

60 min
09

Dynamic Memory

malloc, calloc, realloc, free, memory leaks, and heap patterns.

75 min
10

Preprocessor and Macros

#define, function-like macros, include guards, conditional compilation.

60 min
11

File I/O

fopen, fprintf/fscanf, fgets, binary I/O, fseek, and error handling.

60 min
12

Standard Library

string.h, stdlib.h, math.h, and ctype.h essentials.

60 min
13

Bit Manipulation

Bitwise operators, bit flags, bit tricks, and bitfields.

60 min
14

Function Pointers and Callbacks

Function pointer syntax, callbacks, qsort comparators, dispatch tables.

75 min
15

Linked Lists and Data Structures

Struct nodes, linked lists, traversal, free, and reusable patterns.

75 min
16

Recursion

Recursive functions, factorial, fibonacci, divide-and-conquer.

45 min
17

Error Handling

errno, perror, strerror, return codes, and setjmp/longjmp.

60 min
18

Multi-file Projects and Headers

Header files, include guards, separate compilation, static linkage.

60 min
19

Make and Build Tooling

Makefiles, targets, automatic variables, compiler flags, sanitizers.

60 min
20

Undefined Behavior and Debugging

OOB access, signed overflow, use-after-free, volatile, restrict, sanitizers.

75 min
21

Advanced: Variadics, Threads, and Atomics

Variadic functions, inline, C11 threads, atomics, low-level control.

75 min
Curated Resources
Systems & Tracks