Say, I define an array:
int a[5];
And
a = &a[0];
is an address to the beginning of the array.
My question is, does a get stored someplace in memory like a pointer variable?
If so, when I try to print the address of a (&a), why do I get the same value as a?
 
     
    