title: Lack of understanding when fread a file into an array
body: <p>I'm doing CS50 (Week 4 Lab 4 Volume) and I have to copy a header from an input WAV file to output file (the 44 first bytes).</p>
  <p>To start, I created the array <code>uint8_t header[HEADER_SIZE];</code>. Then, I used <code>fread</code>. But why the right solution is : <code>fread(header, HEADER_SIZE, 1, input);</code> and not something like : <code>fread(header, sizeof(uint8_t), HEADER_SIZE, input);</code>?</p>
  <p>Don't it mean that all the header will be copied at once in the <code>header</code> array in a single element (which will lead to an error since an element must have 1 byte due to its type <code>uint8_t</code>)? Does the compiler now how to handle the situation when reading at once many bytes into an array with only 1 byte per element?</p>
  <p>Thank you!</p>