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).
When I was learning C, they told me that arrays consume much stack, so it's not preferred to pass them by value.
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 !
Can anybody help with as much details as possible ?