I find C easier to understand than the algebra of other languages such as Haskell, Ocaml, Rust because of how C statements correspond to assembly.
Memory is just a big grid of numbered locations and computing is logistics between grid locations. Execution is transition between memory locations.
LEAQ or "&" (C addressof) is an address calculation or LEAQ for one of those grid locations.