[video 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]