Originally Posted by
elad
I think of it like this. Memory is a thing that has a beginning and an end (that is it is a finite resource.). An address is how far away from the beginning to look. The distance is a number. A pointer holds the distance from the start of memory that a particular piece of information is. In other words a pointer tells you where to look, but it doesn't tell you what's there. You can dereference a pointer to find out what's there if you want to, so that information is indirectly available for your use. However, the pointer just contains the address, not the information per se. You can also use the pointer to change the information at the address if you want to, rather than just locate or access the information, but that may be more than you want to know right now.