int my_array[5] = {0}; int *my_pointer = 0; my_pointer = &my_array // compiler error my_pointer = my_array // ok
If my_array is a
my_array
&my_array is the address at which the value of my_array is stored, i.e., it is the address of the address of the array and has type int**.
&my_array
int**