← Back to catalog

C Programming

From your first #include to pointers, structs, and data structures — the complete Structured Programming course, taught by typing every line yourself.

Unlock the full course

Get access to every chapter, instantly.

Buy now
01Chapter 1: The Anatomy of a C Program
Free
02Chapter 2: Comments & Escape Sequences
03Chapter 3: Variables & Data Types
04Chapter 4: Arithmetic Operators
05Chapter 5: Relational & Logical Operators
06Chapter 6: Assignment & Compound Assignment Operators
07Chapter 7: Increment & Decrement Operators
08Chapter 8: The Ternary Operator
09Chapter 9: Operator Precedence & Associativity
10Chapter 10: Type Conversion & Casting
11Chapter 11: if, if-else & Nested if
12Chapter 12: The else-if Ladder
13Chapter 13: The switch Statement
14Chapter 14: The while Loop
15Chapter 15: The do-while Loop
16Chapter 16: The for Loop
17Chapter 17: Nested Loops
18Chapter 18: break & continue
19Chapter 19: The goto Statement
20Chapter 20: Viva Recap — Control Flow
21Chapter 21: Functions — Declaration, Definition & Calling
22Chapter 22: Parameters, Return Values & Call-by-Value
23Chapter 23: Storage Classes
24Chapter 24: Recursion
25Chapter 25: 1D Arrays
26Chapter 26: Multi-Dimensional Arrays
27Chapter 27: Arrays & Functions
28Chapter 28: Strings & string.h
29Chapter 29: Character Functions (ctype.h)
30Chapter 30: Viva Recap — Functions, Arrays & Strings
31Chapter 31: Pointers — Fundamentals
32Chapter 32: Pointer Arithmetic
33Chapter 33: Pointers & Arrays
34Chapter 34: Pointers & Strings
35Chapter 35: Pointers & Functions (Call-by-Reference)
36Chapter 36: Pointers to Pointers
37Chapter 37: Function Pointers
38Chapter 38: Arrays of Pointers & Command-Line Arguments
39Chapter 39: Viva Recap — Pointers
40Chapter 40: Dynamic Memory Allocation
41Chapter 41: Structures
42Chapter 42: Nested Structures & Arrays of Structures
43Chapter 43: Structures with Pointers & Functions
44Chapter 44: Unions
45Chapter 45: Enumerations
46Chapter 46: typedef
47Chapter 47: Bitwise Operators
48Chapter 48: Viva Recap — Memory & Structures
49Chapter 49: The C Preprocessor
50Chapter 50: File I/O — Opening, Writing & Closing
51Chapter 51: File I/O — Reading
52Chapter 52: File I/O — Writing (fprintf, fputs)
53Chapter 53: Random Access File I/O
54Chapter 54: Error Handling (errno, perror)
55Chapter 55: Variable-Length Argument Lists
56Chapter 56: Multi-File Programs & Linking
57Chapter 57: Viva Recap — Preprocessor & File I/O
58Chapter 58: Introduction to Linked Lists
59Chapter 59: Stacks (LIFO)
60Chapter 60: Queues (FIFO)
61Chapter 61: Viva Recap — Data Structures
62Chapter 62: Bonus — Graphics Programming in C (graphics.h)