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;
}