title: C Language - [copy in place] float* to char* and the reverse
body: <p>I want to copy a float buffer into a char (byte) buffer without allocating memory for two separate buffers.  In another words I want to use one buffer and copy in place.
  The Problem is that if I need a float buffer then in order to copy that to a char then I will need a char* pointer;  If I were copying from float* to float* it would be easy as I would just pass in the same pointer for the target and the source.</p>
  
  <p>eg.</p>
  
  <pre><code>void CopyInPlace(float* tar, float* src, int len) {
  ....
  }
  CopyInPlace(someBuffer, someBuffer, 2048);
  
  void PackFloatToChar(char* tar, float* src, int len) {
  
  }
  ????????
  </code></pre>
  
  <p>How would I do this?</p>
  
  <p>Does memcpy copy in place?, if passed in the same pointer?</p>