Something I read that helped me understand pointers goes something like this:
When you declare say an int, you say:
When you declare a pointer to an int, you say:
The two look almost the same. If you ignore the "*" and think of it as part of the name of the variable, then you can use them the same way. So, where ever you may use "var_name1" in an expression, it would be just as valid to use "*var_name2". That is, both will give you the integer value stored in the memory referenced by the variable.
Once you take the "*" way from the pointer's identifier, then you are talking about the location in memory, not it's contents.
A little off topic from your original question, but hope it helps you read code better that uses pointers.