Io penso che tu abbia un po' di confusione in testa.
Una cosa è il concetto
astratto di funzione (pura), ovvero una mappa tra input e output, un'altra è un programma in codice macchina, che non è altro che una sequenza di istruzioni. Detto questo, un argomento di output è il fornire in input l'indirizzo nel quale si invieranno le informazioni (in C si tratta di un puntatore all'oggetto che vuoi modificare). E' un po' come quando dai l'email o il telefono a qualcuno da cui desideri essere contattato. Di per sé, in termini di codice C, il problema non si pone: ogni array è passato per riferimento.
In pratica suppongo che il tipo della funzione sia qualcosa come
int(double[],int,double[])
. Sicuramente non è
int
, che non è un tipo di
funzione. Nota che in C non puoi ritornare un array da una funzione (a meno di metterlo in una struttura
1).