INTRODUZIONE ALLA PROGRAMMAZIONE IN C



Funzioni ed array



Possono essere passati alle funzioni come parametri anche array singoli o multidimensionali. Gli array monodimensionali possono essere passati nel seguente modo: float trovamedia(int size,float list[]) {int i; float sum=0.0; for (i = 0; i < size; i++) sum+=list[i]; return(sum/size); } In questo esempio la dichiarazione "float list[]" dichiara al C che "list" e' un array di float. Non viene specificata la dimensione di un array quando e' un parametro di una funzione. Array multidimensionali possono essere passati alle funzioni nel seguente modo: void stampatabella(int xsize, int ysize,float tabella[][5]) {int x,y; for (x = 0; x < xsize; x++) { for (y = 0; y < ysize; y++) printf("\t%f"tabella[x][y]); printf("\n"); } } In questo esempio "float tabella[][5]" dichiara al C che tabella e' un array di float di dimensioni Nx5. E' importante notare che dobbiamo specificare la seconda dimensione (e le successive) del vettore, ma non la prima dimensione. Quindi, riepilogando, nel caso di array singoli non e' necessario specificare la dimensione dell'array nella definizione come parametro della funzione, mentre nel caso di array multidimensionali si puo' non specificare solo la prima dimensione.