Function call should be like this
func(array_name); //where array_name is the name of your array.
You should pass the array without any index, because passing with an index makes the value at that index to be passed as argument not the array. And you second question's answer -
Why will the function call define the array length? Array has to be defined before its passed, either dynamically or static by you.