Array offrono il metodo più efficiente per la memorizzazione di liste di dati in C. Sono molto facile per il programmatore di creare e utilizzare , e sono straordinariamente veloce per il computer per accedere e aggiornare . Tuttavia, essi possono perdere un sacco di memoria , quindi non sono sempre la cosa migliore da usare . Quando non è usata con attenzione , possono anche causare crash , bug e instabilità del sistema.
Istruzioni Creare un array in C
1
Capire che ogni elemento di un array (o qualsiasi altro tipo di lista ) sarà lo stesso tipo di dati . Ad esempio , un elenco dei punteggi dei test sarà un array di interi , dal momento che ogni risultato di prova è un intero. Per i dati più complessi , è necessario definire una struttura .
2
Decidere quale sia la dimensione più grande il vostro array può mai raggiungere sarà , perché gli array hanno una lunghezza fissa . Avrai voglia di trovare un equilibrio tra l'avere il vostro programma in grado di gestire insiemi di dati insolitamente lunghi , e avendo lo richiedono ( e rifiuti ), un sacco di memoria .
3
creare l'array l' stesso modo si creerebbe una sola variabile , ma aggiungere la dimensione massima tra parentesi quadre dopo il nome , come in questi esempi :
test_scores int [ 50 ] ; first_name char [ 20]; dipendenti employee_record [ 1000 ] ;
4 Creare una seconda variabile che tiene traccia del numero di elementi che hai aggiunto alla matrice finora .
5
Crea un array con dimensioni più semplicemente facendo un array di array , come questo :
int test_answers [ 10 ] [ 20]; student_names char [ 50 ] [ 20 ] ;
utilizzare la matrice
6 accedere agli elementi della matrice utilizzando l'indice in piazza parentesi , così:
test_scores [12 ] = 50; printf ( "punteggio di test: % d \\ n", test_scores [i]) ; Pagina 7 Passate gli array a funzioni , se lo desiderano . Non hai bisogno di ( e non dovrebbe ) specificare le dimensioni nella definizione della funzione . Questo è ciò che la definizione di funzione e chiamata sarebbe simile :
funzione subtotale ( int test_scores [ ] ) ; test_subtotal = subtotale ( test_scores ) ;