AN FI Array Array in Java
AN FI Array Dichiarazione di array in Java [ ]; //oppure u [] ; int a[]; int[] a; u La dimensione non è specificata. Alla variabile a viene associato il valore-riferimento null a null
AN FI Array Inizializazione di array in Java int a[] = {10,20,30}; //oppure int[] a = {10,20,30}; associa alla variabile a l'indirizzo di partenza del blocco di memoria allocato nellheap che contiene la rappresentazione binaria dei tre valori interi specificati. crea (concettualmente) una nuova classe di dati
AN FI Array Inizializzazione di array in Java a a[0] a[1] a[2]
AN FI Array Array name in Java il simbolo a denota una normale variabile il cui valore è un riferimento (a un oggetto-array)
AN FI Array Accesso alle componenti a[i] in Java: dereferenziamento della variabile a e indirizzamento della prima cella che rappresenta la variabile i ma dell'array. u in C: –valutazione dell'espressione a+i, con le regole dellaritmetica dei puntatori, che produce l'indirizzo della prima cella che rappresenta la variabile i ma dell'array
AN FI Array Trasferimento di array a funzioni u I vettori non vengono mai trasferiti per copia, nè in C nè in Java u Sia in Java che in C si trasmette un riferimento. – sono trasferiti per copia i riferimenti
AN FI Array Esempio (java) int sumArray(int a[], int n){ retun( n==0 ) ? a[0] : a[n]+sumArray(a,n-1); }
AN FI Array SumArray (java) int testArray(){ int v1[] = {10,20,30}; int v2[] = {10,20,30,40}; return sumArray(v1,v1.length-1) + sumArray(v2,v2.length-1) ; }
AN FI Array Array come risultati di funzione u In C una funzione non può restituire come informazione di uscita un array. u In Java cio e possibile int[] theSame( int a[] ){ return a; } –la funzione restituisce (il riferimento al) l'array ricevuto in ingresso