C - Array

Matrici un tipo di struttura dati che può memorizzare una raccolta sequenziale di dimensioni fisse di elementi dello stesso tipo. Un array viene utilizzato per memorizzare una raccolta di dati, ma spesso è più utile pensare a un array come una raccolta di variabili dello stesso tipo.

Invece di dichiarare variabili individuali, come numero0, numero1, ... e numero99, dichiari una variabile di matrice come numeri e utilizzi numeri [0], numeri [1] e ..., numeri [99] per rappresentare variabili individuali. Un elemento specifico in un array è accessibile da un indice.

Tutti gli array sono costituiti da posizioni di memoria contigue. L'indirizzo più basso corrisponde al primo elemento e l'indirizzo più alto all'ultimo elemento.

Dichiarazione di array

Per dichiarare un array in C, un programmatore specifica il tipo di elementi e il numero di elementi richiesti da un array come segue:

type arrayName [ arraySize ];

Questo è chiamato array unidimensionale . IlarraySize deve essere una costante intera maggiore di zero e typepuò essere qualsiasi tipo di dati C valido. Ad esempio, per dichiarare un array di 10 elementi chiamatobalance di tipo double, usa questa affermazione -

double balance[10];

Qui balance è un array variabile che è sufficiente a contenere fino a 10 numeri doppi.

Inizializzazione degli array

È possibile inizializzare un array in C uno per uno o utilizzando una singola istruzione come segue:

double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};

Il numero di valori tra parentesi graffe {} non può essere maggiore del numero di elementi dichiarati per l'array tra parentesi quadre [].

Se ometti la dimensione dell'array, viene creato un array abbastanza grande da contenere l'inizializzazione. Pertanto, se scrivi -

double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0};

Creerai esattamente lo stesso array che hai fatto nell'esempio precedente. Di seguito è riportato un esempio per assegnare un singolo elemento dell'array:

balance[4] = 50.0;

L'istruzione precedente assegna al 5 ° elemento dell'array un valore di 50.0. Tutti gli array hanno 0 come indice del loro primo elemento che è anche chiamato indice di base e l'ultimo indice di un array sarà la dimensione totale dell'array meno 1. Di seguito è mostrata la rappresentazione pittorica dell'array che abbiamo discusso sopra -

Accesso agli elementi dell'array

Si accede a un elemento indicizzando il nome dell'array. Questo viene fatto inserendo l'indice dell'elemento tra parentesi quadre dopo il nome dell'array. Ad esempio:

double salary = balance[9];

L'istruzione precedente prenderà il 10 esimo elemento dall'array e assegnare il valore alla variabile stipendio. L'esempio seguente mostra come utilizzare tutti e tre i concetti sopra menzionati, vale a dire. dichiarazione, assegnazione e accesso agli array -

#include <stdio.h>
 
int main () {

   int n[ 10 ]; /* n is an array of 10 integers */
   int i,j;
 
   /* initialize elements of array n to 0 */         
   for ( i = 0; i < 10; i++ ) {
      n[ i ] = i + 100; /* set element at location i to i + 100 */
   }
   
   /* output each array element's value */
   for (j = 0; j < 10; j++ ) {
      printf("Element[%d] = %d\n", j, n[j] );
   }
 
   return 0;
}

Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109

Array in dettaglio

Gli array sono importanti per C e dovrebbero richiedere molta più attenzione. I seguenti importanti concetti relativi all'array dovrebbero essere chiari a un programmatore C:

Sr.No. Concetto e descrizione
1 Array multidimensionali

C supporta array multidimensionali. La forma più semplice dell'array multidimensionale è l'array bidimensionale.

2 Passaggio di array a funzioni

È possibile passare alla funzione un puntatore a un array specificando il nome dell'array senza un indice.

3 Restituisce array da una funzione

C consente a una funzione di restituire un array.

4 Puntatore a una matrice

È possibile generare un puntatore al primo elemento di un array semplicemente specificando il nome dell'array, senza alcun indice.