In C (e C++) tutti i parametri "normali" sono passati per copia, mentre i vettori sono passati per riferimento - o meglio, quando tu scrivi:
il compilatore in realtà capiscecodice:void test(int vet[],int var);
Ovvero, passando un vettore passi (per copia) un puntatore al suo primo elemento, e di conseguenza le modifiche fatte al contenuto del vettore risultano visibili da fuori (perché non stai lavorando su una copia, ma sul vettore stesso).codice:void test(int *vet,int var);