For any object (i.e, variable, array, union, struct, pointer or function) the unary address operator can be used to access the address of that object.
Suppose that
int i = 1;
int *p = NULL;
So then a statement p = &i;, copies the address of the variable i to the pointer p.
I...