i think the confusion is that a variable in c is not a pointer but a referrer to a memory location. it's been a while so maybe I'm wrong (or was never right to begin with): you attempt to cast the value storred in, e.g., src to a pointer and then get the value the pointer points to. but who knows what's stored at location 0xf0.
the example in the book seems right: & returns the address of the variable src, and * then gets the value stored at that address.