Array Basics (sizeof)

My guess is that we are talking to cross purposes. If an array name is used as the argument in a function call, you're saying its a pointer to the first element. I agree because that is also the definition of the lvalue of the array. That is, array and &array[0] are the same thing. Once I know that, I can use the array in the function body since I know where it is stored in memory. You can see that using the following code fragment:

  int array[10];
  Serial.print("array = ");
  Serial.print((int)array);
  Serial.print("   &array[0] = ");
  Serial.println((int)&array[0]);

That's all I was trying to say: Given the proper type specifier for an array passed to the function, you get the memory address of the array (lvalue), which equates to the name of the array, which allows you to reference the array in the function.