title: Use typedef for passing parameters by reference
body: <p>I have this part in instructions of my school project:</p>
  
  <blockquote>
    <p>In <strong>hw_numbers.h</strong> define type <strong>hw_number_array</strong> (for passing arguments to functions by reference). To store numbers in that array, use array of unsigned long.</p>
  </blockquote>
  
  <p>My friend gave me hint, that it should look like this:</p>
  
  <pre><code>typedef unsigned long hw_number_array[];
  </code></pre>
  
  <p>Can someone explain me, why should I use this for passing an array to function?<br>
  And how can this type even exist without defining actual size of array?</p>