title: How do you shift the starting index of an array in C?
body: <p>I am trying to switch the starting index of an array of ints in C. To be precise I have the following array:</p>
  
  <pre><code>{ int array[4] = {1,2,3,4};}
  </code></pre>
  
  <p>I wish to change {array} to an array of 3 items containing {2,3,4}. I was wondering if there was an easy way to do this using pointers and without shifting all the elements in the array. I am also happy if {array} remains an array of 4 items as long as the first 3 items are {2,3,4}. I tried the following:</p>
  
  <pre><code>{array = &amp;(array[1])}
  </code></pre>
  
  <p>However, this does not work and I get an error saying {incompatible types when assigning to type ‘int[4]’ from type ‘int *’}.</p>
  
  <p>I was under the impression that a C array was a reference to the first element of the array. </p>
  
  <p>Can anyone help me with this?</p>