I have a hard time learning certain things in computer science. Pointers in C was one of those things that took many re-learnings to understand since there are so many ways to misinterpret how they work.

I also have a mental representation in my mind that helped me never forget how deferencing and addresses in C work:

My drawing of my mental image.

This is representation of the variable: int x = 8;. The spring is the address and 8 is the value.