title: Why is it a compile error to assign the address of an array to a pointer "my_pointer = &my_array"?
body: <pre><code>int my_array[5] = {0};
  int *my_pointer = 0;
  
  my_pointer = &amp;my_array;  // compiler error
  my_pointer = my_array;   // ok
  </code></pre>
  <p>If <code>my_array</code> is address of array then what does <code>&amp;my_array</code> gives me?</p>
  <p>I get the following compiler error:</p>
  <blockquote>
  <p>error: cannot convert 'int (*)[5]' to 'int*' in assignment</p>
  </blockquote>