For me, the indirection of pointers was one of the fundamental CS concepts that required real effort to understand.
Before that point, I had never clearly separated the concept of a variable and its value. It took a huge conceptual leap to think about a variable that didn't hold a value, but rather, the location of a value. It took some serious mental gymnastics to deal with pointers n-levels deep.
Mind you, this was actually Perl references, not pointers, so I didn't even have to try to comprehend doing math on them.
After a while, of course, it became second nature.
My favorite aspect of CS is that every so often, I run into a wall of conceptual understanding that requires completely changing how I think in order to move forward. Have you never had moments like this, or were they just different topics?
Before that point, I had never clearly separated the concept of a variable and its value. It took a huge conceptual leap to think about a variable that didn't hold a value, but rather, the location of a value. It took some serious mental gymnastics to deal with pointers n-levels deep.
Mind you, this was actually Perl references, not pointers, so I didn't even have to try to comprehend doing math on them.
After a while, of course, it became second nature.
My favorite aspect of CS is that every so often, I run into a wall of conceptual understanding that requires completely changing how I think in order to move forward. Have you never had moments like this, or were they just different topics?