So you benefitted from exactly the sort of explanation you now seem to be questioning?
No, because I never had a "breakthrough moment".
It just felt natural on how a computer was working, typing example after example, to a 10 year old version of myself.
There's a certain distinction to be had between understanding memory addresses, and understanding pointers as part of a type system. I remember the former was very straightforward in various BASIC dialects running on DOS, and it never really confused me. C pointer types, on the other hand, did. Sure, there's an obvious mapping between the two... in the retrospect. But it wasn't obvious at first.
Maybe the first couple of hours when I still hadn't read the DIM, DATA, READ, POKE and PEEK manual pages.
Just like on Dave Cheney's post, seeing a few box examples was enough to get it.