I tried some code to check the behavior of array and pointers. Its as follows.
#include
main(){
int s[]={1,2};
int *b=s;
printf(\"%d, %d, %d\\n\"
An array, when used as an argument to a function, decays into a pointer to its first element. Similarly, taking the address of an array results in a pointer to the location of the first element (but with a different type).
As for your second question, a variable name only exists at compile-time. It typically has no representation in memory at runtime.