C in 100 Seconds
Learn C programming one concept at a time. Each episode covers one topic in about 100 seconds — fast, focused, no filler.
52 episodes
1
C in 100 Seconds: Your First C Program | Episode 1
2
C in 100 Seconds: Variables — int float char double | Episode 2
3
C in 100 Seconds: Same Data Different Output — Format Specifiers | Episode 3
4
C in 100 Seconds: Arithmetic Operators | Episode 4
5
C in 100 Seconds: If Else — Grade Calculator in 14 Lines | Episode 5
6
C in 100 Seconds: Switch — case, break, default | Episode 6
7
C in 100 Seconds: while vs do-while — Two Ways to Loop | Episode 7
8
C in 100 Seconds: For Loops — Init Condition Step | Episode 8
9
C in 100 Seconds: Functions — Define Once Call Anywhere | Episode 9
10
C in 100 Seconds: Store Five Numbers in One Variable — Arrays | Episode 10
11
C in 100 Seconds: strlen strcpy strcmp — Strings in C | Episode 11
12
C in 100 Seconds: scanf — Read Numbers and Strings from the User | Episode 12
13
C in 100 Seconds: Safe Input with fgets | Episode 13
14
C in 100 Seconds: #define const enum — When to Use Each | Episode 14
15
C in 100 Seconds: Type Casting — Why 7/2 Is 3 and How to Fix It | Episode 15
16
C in 100 Seconds: Three Files One Program — Header Files | Episode 16
17
C in 100 Seconds: Pointers — Two Ways to Access the Same Memory | Episode 17
18
C in 100 Seconds: Walk an Array With a Pointer — Pointer Arithmetic | Episode 18
19
C in 100 Seconds: Pass by Reference — Pointers as Parameters | Episode 19
20
C in 100 Seconds: Dynamic Memory — malloc sizeof free | Episode 20
21
C in 100 Seconds: calloc realloc — Zero Init and Resize | Episode 21
22
C in 100 Seconds: Memory Leaks — malloc Without free | Episode 22
23
C in 100 Seconds: Structs | Episode 23
23
C in 100 Seconds: Structs | Episode 23
24
C in 100 Seconds: Structs and Pointers — The Arrow Operator | Episode 24
25
C in 100 Seconds: Unions — Shared Memory One Field at a Time | Episode 25
26
C in 100 Seconds: Typedef — Custom Type Names | Episode 26
27
C in 100 Seconds: Function Pointers — Callbacks and Dispatch | Episode 27
28
C in 100 Seconds: Arrays of Pointers — String Lists and Pointer Tables | Episode 28
29
C in 100 Seconds: Double Pointers — Pointer to Pointer | Episode 29
30
C in 100 Seconds: Void Pointers — Generic Pointers in C | Episode 30
31
C in 100 Seconds: Stack vs Heap — Where Variables Live | Episode 31
32
C in 100 Seconds: String Functions — strcat, strchr, strstr | Episode 32
33
C in 100 Seconds: String Tokenizing — strtok | Episode 33
34
C in 100 Seconds: sprintf and snprintf — Format Into Strings | Episode 34
35
C in 100 Seconds: File I/O Reading — fopen, fgets, fgetc | Episode 35
36
C in 100 Seconds: File I/O Writing — fprintf, fputs, Append | Episode 36
37
C in 100 Seconds: Binary File I/O — fread and fwrite | Episode 37
38
C in 100 Seconds: Command Line Arguments — argc and argv | Episode 38
39
C in 100 Seconds: Error Handling — errno, perror, strerror | Episode 39
40
C in 100 Seconds: Preprocessor Directives — define, ifdef, ifndef | Episode 40
41
C in 100 Seconds: Multi-File Projects — Headers, Linking, Make | Episode 41
42
C in 100 Seconds: Linked List — Create, Traverse, Free | Episode 42
43
C in 100 Seconds: Linked List — Insert and Delete | Episode 43
44
C in 100 Seconds: Linked List — Traverse, Count, Search | Episode 44
45
C in 100 Seconds: Doubly Linked List — prev and next | Episode 45
46
C in 100 Seconds: Stack — Push, Pop, Peek | Episode 46
47
C in 100 Seconds: Queue — Enqueue, Dequeue, Circular Array | Episode 47
48
C in 100 Seconds: Hash Table — Hash Function, Buckets, Collisions | Episode 48
49
C in 100 Seconds: Hash Table — Chaining, Insert, Lookup, Delete | Episode 49
50
C in 100 Seconds: Binary Tree — Create, Insert, Traverse | Episode 50
51
C in 100 Seconds: Binary Tree Traversal — Inorder, Preorder, Postorder | Episode 51