title: Add a pointer to a beginning of array (of pointers) in C
body: <p>I have an array of char pointers</p>
  
  <pre><code>char ** strings
  </code></pre>
  
  <p>with the length of</p>
  
  <pre><code>limit
  </code></pre>
  
  <p>I'm trying to add a char pointer to the beginning of the array, while maintaining all the arrays objects except the last one
  For example, if my array had 3 pointers:</p>
  
  <pre><code> {*str1, *str2, *str3}
  </code></pre>
  
  <p>and I want to add <code>*str4</code> to the beginning, it'll look like this:</p>
  
  <pre><code> {*str4, *str1, *str2}
  </code></pre>
  
  <p>while keeping the same size</p>
  
  <p>Hope I'm being clear enough</p>
  
  <p>Thank you</p>
  
  <p><strong>EDIT</strong></p>
  
  <p>I'm trying to avoid looping the whole thing to move the pointers. I'm looking for a O(1) solution for this</p>