Salve, io avrei un piccolo dubbio riguardo le funzioni, so che le funzioni possono avere dei ritorni o non averne, quando utilizzo una funzione void e carico un vettore (nel void), tornando nel main il vettore mantiene i valori assegnati precedentemente nel void, invece se assegno un valore a una variabile normale nel void, tornati nel main quest'ultima ha un valore diverso.
Sapete dirmi perchè il vettore mantiene i suoi valori? grazie 
codice:
void test(int vet[],int var);
int main(int argc, char *argv[])
{
int var,vet[3];
test(vet,var);
printf("%d\n",vet[0]);
printf("%d\n",vet[1]);
printf("%d\n",vet[2]);
printf("\n%d\n",var);
getch();
}
void test(int vet[],int var)
{
vet[0]=1;
vet[1]=2;
vet[2]=3;
var=10;
}