Just take
int a =10;
int *p = &a;
a
is a variable which holds value 10. The address in which this value is stored is given by &a
.
Now we have a pointer p
, basically pointer points to some memory location and in this case it is pointing to memory location &a
.
*p
gives you 10
This is called dereferencing a pointer.
p = &a /* Gives address of variable a */
Now let’s consider
&p
Pointer is a also a data-type and the location in which p is stored is given by &p
solved pointer: *p and &p in C programming language [duplicate]