In C e C++ si possono passare array alle funzioni e una funzione può restituire un array.
Se ha i un array di interi
int array[100]
tieni conto che il nome dell'array è un puntatore.
Una funzione lo può restituire semplicemente con
return array;
Il prototipo della funzione lo dichiari
int* funzione(.......);
Questa funzione restituisce appunto un puntatore ad int.

ciao.