my_array is the name of an array of 5 integers. The compiler will happily convert it to a pointer to a single integer.
&my_array is a pointer to an array of 5 integers. The compiler will not treat an array of integers as a single integer, thus it refuses to make the conversion.