title: How to use and when is good use memmove in C?
body: <p>I have two doubt about use of <strong><em>memmove()</em></strong>:</p>
  
  <ul>
  <li>When is preferable use this function instead of use another function (i.e. a created own function)? I’m not sure I have understood properly.</li>
  <li>The signature of the function is <strong>void *memmove(void *dest, const void *src, size_t n)</strong>. If I have a simple array <em>arr[N]</em>, how can I put it into the called function? arr[N] or &amp;arr[N]? The difference is if the array is declared with an initial size or like a pointer? I have this doubt because I saw many example where is used both.</li>
  </ul>
  
  <p>I hope I explained my doubts in a good way.</p>
  
  <p>edit: I have to delete an element from the array, and then I want to shift the following elements of the deleted one on the left.</p>