Arrays passed to functions are passed by reference, not by value. When an array is passed to a function, the function receives the address of the first element. Any modifications made to the array elements inside the function are reflected in the original array in memory. Arrays do not need an ampersand (&) when passed to a function. The function prototype only needs to specify the array name without brackets to indicate an array parameter.