Come faccio a far ritornare un array da una funzione ? da quanto ho capito devo usare i puntatori e far ritornare il puntatore dell'array, la mia domanda è dove devo dichiarare l'array ? io nel mio programma ho allocato dinamicamente l'array nella funzione nel file.c, e poi faccio la chiamata a nel main.c in questo modo :
int *mediavoti (int N, struct esame vett[])
{             
          *media_voti=NULL;
   ...
           media_voti=(int *)malloc(numero_studenti * sizeof(int));
   
   in un for riempo l'array : media_voti = media;
}
return media_voti;
}
poi nel main.c ho messo:
                                       int *media;   
                                       media = mediavoti(num_esami1, vett1);
					
					for(y=0; y<num_esami1; y++)
					{
						printf("nome esame : %s \t", vett1[y].nome_esame);
						printf("media: %d\t", *media);
					}
come autput ho : 
media: 6749312