Come determinare la dimensione di un array

Come determinare la dimensione di un array
Array è una raccolta lineare di elementi. Per calcolare le dimensioni dell'array possiamo usare l'operatore di dimensione (). Con l'aiuto dell'operatore sizeof () possiamo facilmente scoprire le dimensioni di un array. Tranne l'operatore sizeof () possiamo anche usare il puntatore per calcolare la dimensione dell'array.

Principio di base dell'operatore di dimensione per calcolare la dimensione dell'array

Memoria richiesta (in byte) = sizeof (datatype) * sizeof array.

Esempio: int a [10];

Quindi, sizeof (datatype) = sizeof (int) = 4 byte

Array sizeof = 10 .

Quindi, memoria richiesta = (4 * 10) byte = 40 byte

Esempio di programmazione 1:

# includere
# includere
int main ()

int arr [] = 1, 2, 3, 4, 5;
int i;
int size = sizeof (arr) / sizeof (arr [0]); // Dimensione dell'array.
printf ("dimensione dell'array = %d \ n", dimensione);
printf ("Gli elementi dell'array sono:");
per (i = 0; i < size ; i++)

printf ("arr [ %d] = %d \ n", i, arr [i]);

Produzione: La dimensione dell'array è 5

Spiegazione: Qui, dichiariamo un array denominato arr [] e assegniamo alcuni valori. Sono 1, 2, 3, 4, 5. Se vogliamo determinare la dimensione dell'array, significa quanti elementi presenti nell'array, dobbiamo scrivere il calcolo con l'aiuto dell'operatore sizeof.

Sizeof (arr []) / sizeof (arr [0]);

Qui, la dimensione di arr [] è 5 e ogni intero prende memoria 4 byte.

Quindi, la memoria totale viene consumata = (5 * 4) byte.

= 20 byte.

Sizeof (arr [0]) indica qui gli elementi sono interi. Quindi, ci vogliono memoria 4 byte.

Quindi, la dimensione dell'array = (20/4) byte = 5 byte.

Se prendiamo un array di caratteri o una stringa invece dell'array intero, possiamo spiegare cosa è successo nel prossimo programma.

Esempio di programmazione 2:

# includere
# includere
int main ()

char arr [] = a, b, c, d, e;
int i;
int size = sizeof (arr) / sizeof (arr [0]); // Dimensione dell'array
printf ("dimensione dell'array = %d \ n", dimensione); .
printf ("Gli elementi dell'array sono:");
per (i = 0; i < size ; i++)

printf ("arr [ %d] = %c \ n", i, arr [i]);

Produzione: La dimensione dell'array è 5

Spiegazione: Qui, dichiariamo un array denominato arr [] e assegniamo alcuni valori.Sono 'a', 'b', 'c', 'd', 'e'. Se vogliamo determinare la dimensione dell'array, significa quanti elementi presenti nell'array, dobbiamo scrivere il calcolo con l'aiuto dell'operatore sizeof ().

Sizeof (arr []) / sizeof (arr [0]);

Qui, la dimensione di arr [] è 5 e ogni carattere prende memoria 2 byte.

Quindi, la memoria totale viene consumata = (5 * 2) byte.

= 10 byte.

sizeof (arr [0]) significa qui che gli elementi sono carattere. Quindi, ci vogliono 2 byte di memoria.

Quindi, la dimensione dell'array = (10 /2) byte = 5 byte.

Se prendiamo Float Array invece di Array di caratteri, possiamo spiegare cosa è successo nel prossimo programma.

Esempio di programmazione 3:

# includere
# includere
int main ()

char arr [] = 1.5, 2.5, 3.5, 4.5, 5.5;
int size = sizeof (arr) / sizeof (arr [0]); // Dimensione dell'array
printf ("dimensione dell'array = %d \ n", dimensione);
printf ("elementi array:");
per (int i = 0; i < size ; i++ )

printf ("arr [ %d] = %f \ n", i, arr [i]);

Produzione: La dimensione dell'array è 5

Spiegazione: Qui, dichiariamo un array denominato arr [] e assegniamo alcuni valori.Sono 1.5, 2.5, 3.5, 4.5, 5.5. Se vogliamo determinare la dimensione dell'array, significa quanti elementi presenti nell'array, dobbiamo scrivere il calcolo con l'aiuto dell'operatore di dimensione ().

Sizeof (arr []) / sizeof (arr [0]);

Qui, la dimensione di arr [] è 5 e ogni galleggiante prende memoria 8 byte.

Quindi, la memoria totale viene consumata = (5 * 8) byte.

= 40 byte.

Sizeof (arr [0]) indica qui gli elementi fluttuanti. Quindi, ci vogliono memoria 8 byte.

Quindi, la dimensione dell'array = (40/8) byte = 5 byte.

Calcola la dimensione dell'array usando il puntatore

Un altro metodo per determinare la dimensione dell'array è usando il puntatore.

Esempio di programmazione 4:

int main ()

int main ()

int arr [] = 1, 2, 3, 4, 5;
int size = * (& arr + 1) - arr; // Dichiarare la variabile dimensione usando il puntatore.
printf ("Il numero di elementi è arr [] è %d", dimensione);
restituzione 0;

Spiegazione: Qui, calcoliamo le dimensioni dell'array usando il puntatore.

int size = * (& arr + 1) - arr;

La linea sopra ci aiuta a calcolare le dimensioni dell'array. Qui, arr indica l'indirizzo di base dell'array o dell'indirizzo del primo indice dell'array.

* (& arr + 1)

Significa l'indirizzo del secondo indice dell'array. Perché aggiungiamo 1 all'indirizzo dell'indirizzo di base.

Se sottraggiamo il valore dell'indirizzo dell'array dal suo indirizzo di base, otteniamo le dimensioni di ciascun blocco nell'array. Quindi, possiamo facilmente scoprire le dimensioni dell'array contando il numero totale di input che abbiamo dato a quel particolare array.

Produzione:

Conclusione

Chiaramente, è dimostrato che con l'aiuto del puntatore dell'operatore sizeof (), possiamo facilmente calcolare la lunghezza dell'array o la dimensione dell'array. Principalmente, l'operatore sizeof () è responsabile di calcolare le dimensioni dell'array, ma anche il puntatore può anche supportare per determinare le dimensioni dell'array passivamente.