Final answer:
When an array is passed to a function in C, a pointer to the first element of the array is created in memory. This means changes to the array within the function affect the original array, and it is a memory-efficient way to handle large arrays as only the pointer is passed.
Step-by-step explanation:
When an array is passed as a parameter in C, a pointer to the array is created in memory. Unlike some other languages, C does not create a copy of the array in memory. Instead, what happens is that the function's parameter essentially becomes a pointer to the first element of the array. This means that any changes to the array within the function will affect the original array. It's also worth noting that because arrays are passed by reference via pointers, passing large arrays to functions is efficient since only the pointer is copied, not the entire array.