All lessons in order โ each one self-contained, ~15 minutes.
Storage must exist AND be big enough. The One Principle behind bare-pointer scanf and undersized strcat bugs.
The three-act structure (find end โ lockstep copy โ re-seal) and the two-pointer copy idiom *p++ = *q++.
The three const positions around a pointer. const char *p, char * const p, const char * const p. The two-question shortcut.
Postfix ++ binds tighter than *. The 7-step unroll. Six forms at a glance. The classic one-liner strcpy trick.
Four versions of mystrcpy: index form, expanded pointer, compact pointer, one-liner. The only difference from strcat: no Act 1.
Heap memory, malloc/calloc/realloc/free. The three heap sins. Stack vs heap decision. Hands-on: build mystrdup.
The four heap sins in depth: leak, dangling pointer, double-free, use-after-free. Ownership rule. Valgrind and ASan. Hands-on: be a memory detective.