Nwlapcug.com


Come creare una matrice in C

Le matrici offrono il metodo più efficiente per la memorizzazione di elenchi di dati in C. È molto facile per i programmatori di creare e utilizzare, e sono straordinariamente rapide per il computer accedere e aggiornare. Tuttavia, si può sprecare un sacco di memoria, quindi non sono sempre la cosa migliore da utilizzare. Se non utilizzato con attenzione, possono anche causare crash, bug e instabilità del sistema.

Istruzioni

Crea una matrice in C

1

Capire che ogni elemento di una matrice (o qualsiasi altro tipo di elenco) sarà lo stesso tipo di dati. Ad esempio, un elenco di punteggi del test sarà una matrice di numeri interi, poiché ogni punteggio del test è un valore integer. Per dati più complessi, sarà necessario definire una struttura.

2

Decidere quale sarà la più grande dimensione che l'array può mai raggiungere, perché le matrici hanno una lunghezza fissa. Ti consigliamo di trovare un equilibrio tra l'avere il programma in grado di gestire i set di dati insolitamente lunghi e averlo richiedono (e rifiuti) un sacco di memoria.

3

Creare la matrice allo stesso modo si potrebbe creare una singola variabile, ma aggiungere la dimensione massima tra parentesi quadre dopo il nome, come in questi esempi:

int test_scores [50];
char nome [20];
employee_record dipendenti [1000];

4

Creare una seconda variabile che tiene traccia di quanti elementi che hai aggiunto alla matrice finora.

5

Creare una matrice con più dimensioni semplicemente facendo una matrice di matrici, come questo:

int test_answers [10] [20];
char student_names [50] [20];

Utilizzare la matrice

6

Accedere agli elementi della matrice utilizzando l'indice tra parentesi quadre, come questo:

test_scores [12] = 50;
printf ("Punteggio del Test: %d\n", test_scores[i]);

7

Passare le matrici di funzioni, se si sceglie così. È non necessario (e non deve) specificare la dimensione nella definizione della funzione. Questo è ciò che la definizione di funzione e la chiamata sarà simile:

funzione subtotale (int test_scores[]);
test_subtotal = subtotal(test_scores);

Consigli & Avvertenze

  • L'indice di una matrice è sempre di tipo int.
  • Una stringa di caratteri è in realtà una matrice di caratteri, e tutte le funzioni di gestione delle stringhe incorporate in librerie standard di C. lavorano con queste matrici.
  • Quando si passa una matrice a una funzione, le modifiche apportate alla matrice dalla funzione porterà oltre alla funzione chiamante!
  • Si noti che il primo elemento di una matrice è l'elemento 0, non elemento 1. Ciò significa che se la matrice ha 50 elementi, sono numerate da 0 a 49.
  • L'accesso agli elementi passato quello ultimo che è stata dichiarata è chiamato un "overflow del buffer" ed è la causa di parte la maggior dei bug e si blocca nei programmi C. C non offre alcuna protezione contro sovraccarichi del buffer. Invece, è a voi per evitare che attraverso un'attenta programmazione.
  • Dimensione della matrice deve essere una costante, e non può essere modificato facilmente mentre il programma viene eseguito. Se avete bisogno di essere in grado di ridimensionare l'elenco come si va, consiglia di utilizzare un elenco collegato.