Skip to main content
Programming Languages

C.

Systems-level programming — operating systems, embedded devices, networking, and performance-critical software.

Beginner

Start here — no prior experience needed

9 lessons

Intermediate

For developers with core concepts down

10 lessons
c intermediate
5 min read

Master pointer arithmetic, pointer-to-pointer, const pointers, void pointers, and function pointers in C.

c intermediate
5 min read

Learn malloc, calloc, realloc, and free, understand heap vs stack, detect memory leaks with Valgrind, and avoid buffer overflows.

c intermediate
5 min read

Learn struct definition, typedef, nested structs, struct pointers, and bit fields for efficient data packing.

c intermediate
5 min read

Understand union memory layout, how to use enum and typedef enum, and practical use cases for both.

c intermediate
5 min read

Learn fopen/fclose, fread/fwrite, fprintf/fscanf, binary file handling, and proper error checking for file operations.

c intermediate
5 min read

Learn #define, #include, #ifdef, function-like macros, include guards, and #pragma in C.

c intermediate
5 min read

Learn errno, perror, strerror, setjmp/longjmp, and defensive programming patterns for robust C programs.

c intermediate
5 min read

Implement singly and doubly linked lists in C with insertion, deletion, and traversal operations.

c intermediate
5 min read

Implement stack, queue, hash table, and binary search tree from scratch in C.

c intermediate
5 min read

Learn Makefile syntax, variables, pattern rules, phony targets, and how to manage multi-file C projects with make.

Advanced

Production-grade patterns for experienced engineers

4 lessons