Originariamente inviato da donato.sciarra
permettimi di approfittare delle tue conoscenze chidendoti un esmpio su una funzione che restituisce un puntatore...
Ecco un semplice esempio: una funzione che prende 2 array in input (della stessa lunghezza) e crea/restituisce un nuovo array che contiene la somma degli elementi.
codice:
#include <stdio.h>
#include <stdlib.h>
int* somma_array (int *arr1, int *arr2, int num)
{
int i;
int *arrRes;
arrRes = (int*) malloc (num * sizeof (int));
if (arrRes != NULL)
{
for (i = 0; i < num; i++)
arrRes[i] = arr1[i] + arr2[i];
}
return arrRes;
}
int main (void)
{
int a[] = { 12, 34 };
int b[] = { 4, 7 };
int *r;
r = somma_array (a, b, 2);
if (r != NULL)
{
/* ...fai qualcosa con l'array 'r'... */
free (r);
}
return 0;
}