prototype/function would look something like this:
void function(int array2[], int size);
the call would look something like this:
#define ROWS 50
int array[ROWS];
function(array, ROWS);
Basicaly whatever gets done with array2 gets done with array. Your really passing the address of the original array. Theres really no way to pass the "contents" of the whole array at one, unless you only want to pass one element.
You dont necessarility need to pass the size, but I like to make as generic functions as I can that will work with any array rather than having to hard code the size of the array in the function. Unless your dealing with char arrays in which case you'll most likely be dealing with one that ends in '\0'.