title: What does *((unsigned char*) ... ) mean?
body: <p><br>
  since i am still not allowed to comment i will post this as a question.<br>
  Someone once posted this piece of code as an answer (it works and everything is fine) but i don't really get how that piece of code works.<br><br>
  The answer was related to converting bytes to a float.</p>
  
  <blockquote>
  <pre><code>typedef unsigned char uchar;
  
  float bytesToFloatA(uchar b0, uchar b1, uchar b2, uchar b3)
  {
      float output;
  
      *((uchar*)(&amp;output) + 3) = b0;
      *((uchar*)(&amp;output) + 2) = b1;
      *((uchar*)(&amp;output) + 1) = b2;
      *((uchar*)(&amp;output) + 0) = b3;
  
      return output;
  }
  </code></pre>
  </blockquote>
  
  <p>I know how floats work and i understand that he is assigning the bytes from the first to the fourth with the char bits using the address of the float.<br><br>
  <strong>What i don't understand is this part of code:</strong></p>
  
  <pre><code>*((uchar*) ... )
  </code></pre>
  
  <p>I would really appreciate an answer because i believe it will give me a much better understanding of pointers and casting!</p>