title: Passing Arrays and Structures to C Function
body: <p>I wonder why we can pass structure to C function by value, but we can never do the same with array (which is passed by address).</p>
  
  <p>When I was learning C, they told me that arrays consume much stack, so it's not preferred to pass them by value.</p>
  
  <p>But it seems that structures are often (if not always) larger than arrays and are more complex data structure, so this explanation makes no sense for me now !</p>
  
  <p>Can anybody help with as much details as possible ?</p>