[video output=day5 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=intro-to-c title="Intro to C on Windows - Day 5" vod_platform=youtube id=Pb19uCFU2EA annotator=jacebennett annotator=theinternetftw]
[0:04][Where does everything live? First: The Code]
[2:36][From Code to Executable to Memory]
[9:24][Virtual Memory and Paging]
[16:15][The Instruction Cache]
[19:34][Where the Stack lives (and what lives in the stack)]
[23:56][Operators (starting with math)]
[26:40][Precedence]
[29:31][Shift operator]
[35:35][Shifting to multiply/divide]
[38:15][Bitwise Operator Intro, Google interlude]
[42:14][Bitwise OR and AND Operators, Bitmasking]
[46:40][Bitwise NOT]
[48:01][Windows Calculator - Programming mode is handy]
[49:07][Bitwise XOR]
[53:29][Logic / Comparison Operators Intro, Truthy values]
[56:55][Comparison Operators]
[59:57][Don't expect truthy values made by '<' and friends to always be 1]
[1:01:02][Control Flow Intro]
[1:01:55][If/Else Statements]
[1:07:23][Logical AND and OR]
[1:09:51][Advice about one-line if statements]
[1:11:53][Logical XOR is just !=]
[1:13:43][Loops Intro]
[1:14:25][while(){}]
[1:16:15][Breaking out of loops]
[1:17:38][Loop styles are equivalent, as they're all just made of ifs and gotos]
[1:18:02][do {} while();]
[1:19:39][for(){}]
[1:23:10][Writing a for() in terms of while()]
[1:25:42][switch(){}]
[1:31:48][Blocks {}]
[1:34:27][Block advice - watch the lifespan of pointers to block-local vars]
[1:38:10][Dereference Operator]
[1:40:11][Pointers to Pointers]
[1:41:12][Pointers and the Struct's Arrow Operator]
[1:41:48][Shadowing variables with new scopes]
[/video]
