Here is a code which I wrote to test/understand the behavior of pointers of/in an array
int main(void){
int a[4];
memset(a, 0, sizeof(a));
printf("%x %x\n",a,&a);
}
Output of the above program on my machine:
bfeed3e8 bfeed3e8
I can't understand why are the values a and &a is same. From what I understand &a is supposed to give the address of memory location where a is stored. What is the explanation for this kind of behavior?