Ciao, non mi e' molto chiara la domanda comunque ti ho fatto un sorgente di esempio che mostra come ottenere un vettore (o meglio l'indirizzo del suo primo elemento) come valore di ritorno di una funzione e come utilizzarlo.
#include <stdio.h>
#include <stdlib.h>
#define N (10)
/* Prototipi funzione */
int* crea_vettore (int*, int);
void distruggi_vettore (int*);
void visualizza_vettore (const int*, int);
int main(void) {
int* v;
int i;
/* Creo il vettore */
v = crea_vettore(v, N);
/* Riempo il vettore con N numeri */
for (i = 0; i < N; ++i) *(v + i) = i;
/* Visualizzo il vettore */
visualizza_vettore(v, N);
/* Distruggo il vettore */
distruggi_vettore(v);
return 0;
}
int* crea_vettore(int* v, int nelem) {
if (!(v = malloc(nelem * sizeof(int))))
perror("malloc()");
return v;
}
void distruggi_vettore(int* v) {
free(v);
v = NULL;
}
void visualizza_vettore(const int* v, int nelem) {
int i;
for (i = 0; i < nelem; ++i)
printf("Elemento [%d] => %d\n", i, *(v + i));
}
Come puoi vedere per utilizzare i vettori nelle funzioni si deve ricorrere all'utilizzo dei puntatori e nel nostro caso all'allocazione dinamica della memoria dato che vogliamo creare un vettore in una funzione.
Saluti, netburst.