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