codice:
#include <stdio.h>
 0015 #include <stdlib.h> 
0016  
0017 int* foo()  { 
0018   int i, *v = (int*) malloc( 10*sizeof(int) ); 
0019   for ( i=0; i < 10; i++ ) 
0020     v[i] = i; 
0021 return v; } 
0022  
0023  
0024 int main()  { 
0025   int *v = foo(); 
0026   free(v); 
0027   return 0; 
0028 }
Non riesco a capire per quale motivo e' stato usato un puntatore per dichiarare la funzione foo(). i puntatori a funzione servono quando il programma deve scegliere quale funzione chiamare fra diverse possibili, e la scelta non é definita a priori ma dipende dai dati del programma stesso. Ma qui l'uso della funzione foo () non serve solo per stampare un array con i numeri ordinati da 0 a 1. Perché poi utilizzare una malloc se si già che avrò bisogno di un array di 10 elementi ? Grazie mille in anticipo e come al solito scusate se le domande sono stupide !