Trovato!

Effettivamente se scrivo function(int vector) passa un intero, mentre function(int *vector) passa un vettore di interi.
Ma... anche function(int vector[]) passa come vettore di interi!
Era questa terza possibilità che mi confondeva un po' le idee!

Cos'è "cast"?