I tried the below c code.
void checkPointers () {
int a[10];
int *p = a;
printf("\n the value of p is \t %p \n",p);
printf(" the location of p is \t %p \n", &p);
printf(" the value of a is \t %p \n",a);
printf(" the location of a is\t %p \n", &a);
}
The result it showed me was this..
the value of p is 0x7ffd6a7ce1b0
the location of p is 0x7ffd6a7ce1a8
the value of a is 0x7ffd6a7ce1b0
the location of a is 0x7ffd6a7ce1b0
The output shows different value and location for p which is expected but in case of array variable a it shows the value and location as same. Is there any special case for array variables that I am not aware of?