Thank you so much for all your replies.

Really helped me understand the concept better.

I was so caught up with the idea that a pointer variable is capable of storing the address and completely missed the point that using the * or [ ] the pointer is capable of accessing the value of whatever it points to.


One more Doubt:
---------------------
Thanks for being very patient with me, I have one more doubt (explained below):

I am a bit confused between the difference a pointer and an array.
From Laserlight's comment I understand that an array can be converted into a pointer.

I have not yet covered the sizeof operator yet (I am learning from a book). So hopefully will cover it later.

My understanding is that a pointer is an address of a variable.
An array is a series of memory locations, and the array variable contains the address of the first indexed variable.
So does that not make an array variable a pointer or is it just a representation ?

Is an Array like a special pointer, meaning it is more than a normal pointer or is it just not a pointer but can be converted into a pointer ?