title: Why can't I assign an array to another array in C
body: <pre><code>#include&lt;stdio.h&gt;    
  
  int main(){    
    int a[] = {1,2,3};
    int b[] = {4,5,6};
    b = a;
    return 0;  
   } 
  </code></pre>
  <p>Result in this error:</p>
  <pre><code>array type 'int [3]' is not assignable
  </code></pre>
  <p>I know arrays are lvalues and are not assignable but in this case, all the compiler has to do is
  reassign a pointer. <code>b</code> should just point to the address of <code>a</code>. Why isn't this doable?</p>