How should I "read" a dereference operator? For example, when I look at some code like

int x = 1;
int * y = &amp;x;


I can read it like 

x equals 1
y equals the address of x


but how would I "read" something like

*y = 1;


My best guess is 

The value at address y equals 1


But I'm wondering if there's a better way to think about it.
I always read 
*y =1
as: assign the value $1$ to the memory location pointed by y.

Why?

y is a pointer type variable, so it has an address as a value. It another words, it points to this address. When we want to, indirectly,  manipulate the memory area pointed by y we use *y. Hence *y=1 tells that the value $1$ should be stored in the memory location pointed by y.