array

Inviato:
5 feb 2009, 22:24
da bob93
Chi mi sa spiegare cos'è un array e come posso crearla in C????
Re: array

Inviato:
5 feb 2009, 22:40
da Wed_17
Ti consiglio di vederti una buona guida in C, ci sono ottimi testi ove puoli trovare tutti gli spunti e i consigli che vuoi.
Comunque un array lo puoi pensare come una successione di caselle (locazioni di memoria), e in ogni casella è contenuto un valore. Sono molto utili in C. Ad esempio, vogliamo realizzare un array di 4 elementi, contente il valore 1,2,3,4.
Quindi avremo 4 caselle in successione, conteneti i valori 1,2,3,4. Chiamiamo il vettore A. "Globalmente" il vettore si chiama A, ma come facciamo ad indicare il primo oppure il terzo elemento??? Tramite gli indici: quando si scirve A[0] si indica il primo elemento dell'array, quindi quando scriviamo A[3] indicheremo la 4 casella contente il valore 4.
Un array lo dichiari esattamente come una variaible, solo che in fase di dichiarazione devi inserire il numero di caselle: nel nostro esmepio scirveremo: int A[4] in fase di dichiarazione. Ti butto giù un semplice programmino che prima inserisce nelle varie caselle i numeri poi li stampa:
#include<stdio.h>
#include<conio.h>
#define N 4
int main()
{ int A[N],i;
for(i=0; i<N; i++)
{ A[i]=i+1;
} //inizializzazione array
for(i=0; i<N; i++)
{ printf("%d\n",A[i]);
}
return EXIT_SUCCESS;
}
Re: array

Inviato:
5 feb 2009, 22:55
da c1b8
Supponi di aver bisogno di n variabili TUTTE DELLO STESSO TIPO, dovresti dichiarare quindi n nomi diversi. Se queste n variabili esprimono un concetto unico, diciamo che rappresentano un RACCOGLITORE, è più comodo assegnare loro un unico nome ed utilizzarle nel codice con un indice: questo è un array.
In altre parole un array potrebbe essere definito come un raccoglitore di oggetti tutti uguali ed indirizzabili mediante un indice numerico.
La dichiarazione di un array è quindi caraterizzata dal tipo delle variabili contenute e dal numero di variabili che formano il contenitore.
Esempio: supponiamo di voler salvare per ogni giorno dell'anno il numero di ore dedicate allo studio, avrò bisogno di 365 variabili int, ogni variabile rappresenta un giorno dell'anno e il loro valore esprime il numero di ore di studio, o dichiaro 365 variabili o utilizzo un array del tipo
int oreStudio[365];
il primo giorno dell'anno sarà il primo 'cassetto' del mio contenitore, quindi:
oreStudio[0]=0; // Ho assegnato 0 ore di studio al 1° giorno dell'anno
oreStudio[1]=2; // Ho assegnato 2 ore di studio al 2° giorno dell'anno
oreStudio[80]=10; // Ho assegnato 10 ore di studio al 81° giorno dell'anno
Come vedi l'indice parte da zero e arriva al valore massimo che corrisponde al numero di elementi-1 (nel nostro esempio quindi indice massimo è 364).
Possono esistere array multidimensione: vogliamo salvare le ore di studio per ogni giorno dell'anno e per gli ultimi 5 anni, userò un array come questo:
int oreStudio[5][365]; // 5 anni di 365 giorni l'uno.
Spero di non aver fatto maggiore confusione...
Re: array

Inviato:
5 feb 2009, 22:59
da RenzoDF