Ciao a tutti,
stavo cercando di capire come funzionano questi puntatori a funzioni ma non ho ancora trovato documenti che lo spieghino con esempi facili. Supponiamo che io ho un array e che voglio applicare ad ogni elemento di questo una funzione( ad esempio che somma all'elemento semplicemente 1 ), come la realizzio? Io ho scritto una cosa cosi':
ovviamente non funzionacodice:#include <stdio.h> #define N 5 int f( int* a ) { int i; for( i = 0; i < N; i++ ) a[i]++; } void applica( int *array, int (*f)( int* ) ) { f( array ); } int main( int argc, char **argv ) { int array[5]; int i; for( i = 0; i < N; i++ ) array[i] = i; for( i = 0; i < N; i++ ) fprintf( stdout, " %d ", array[i] ); applica( array, f( array ) ); char t; fscanf( stdin, "%c", &t ); }, e manco compila
![]()
![]()

, e manco compila
Rispondi quotando
dato l'esercizio tu la faresti cosi' ?
