I was referring to the statement that ...it is not a reference to the array or a pointer to it.. We were talking about array names being passed to a function.
I'm not sure where you are getting confused, the function must accept an array type to accept an array. If for example you use a pointer to an int for the parameter, an int array will decay to a pointer of its first element and you are no longer dealing with an array. Which is what my post above explains. I'm sorry for using assignments as they seem to have been confusing. But the declarations can go straight into a function parameter list if you like.
You can use pointer arithmetic on a pointer, but that does not make it an array.