C Programming: What does Dereferencing a Pointer Mean?