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
.
It's expressed as p
points to i
.
printf("%d\n", *p);
prints 1, which is the value of i
.