I'm confused about how C stores in memory an array. From the example bellow the address of str1 is equal to its value. Whit this I was interpreting the result as: the memory address &str1 contains the value of the address itself. But this can not be the case because from other examples I saw the address of str1 contains the first value of the string, which in this case is "H".
So my question can be: where is the address of str1 stored?
#include <stdio.h>
int main(int argc, char const *argv[]) {
char str1[] = "Hello World";
printf("%d %d %c\n",&str1,str1,str1[0] );
return 0;
}