If you write a C++ function like
void readEmStar( int *arrayOfInt ) { }
vs a C++ function like:
void readEmSquare( int arrayOfInt[] ) { } >
There is no difference between your two codes, apart from the different style obviously. In both cases the array is passed by reference and not by value, as function parameters type *x and type x[] are semantically the same.
type *x
type x[]