So bestimmen Sie die Größe eines Arrays

So bestimmen Sie die Größe eines Arrays
Array ist eine lineare Sammlung von Elementen. Um die Arraygröße zu berechnen. Mithilfe von Sizeof () -Operator können wir leicht die Größe eines Arrays herausfinden. Mit Ausnahme des Größe von Sizeof () können wir auch Zeiger verwenden, um die Arraygröße zu berechnen.

Grundprinzip des Größe des Operators zur Berechnung der Arraygröße

Speicher erforderlich (in Bytes) = sizeof (DataType) * Größe des Arrays.

Beispiel: int a [10];

Dann sizeof (DataType) = sizeof (int) = 4 Bytes

Größe von Array = 10 .

Also, Speicher erforderlich = (4 * 10) Bytes = 40 Bytes

Programmierbeispiel 1:

# enthalten
# enthalten
int main ()

int arr [] = 1, 2, 3, 4, 5;
int i;
int size = sizeof (arr) / sizeof (arr [0]); // Größe des Arrays.
printf („Größe von Array = %d \ n“, Größe);
printf („Die Array -Elemente sind:“);
für (i = 0; i < size ; i++)

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

Ausgang: Die Größe des Arrays beträgt 5

Erläuterung: Hier deklarieren wir ein Array mit dem Namen arr [] und weisen einige Werte zu. Sie sind 1, 2, 3, 4, 5. Wenn wir die Größe des Arrays bestimmen möchten, bedeutet dies, wie viele Elemente im Array vorhanden sind, die Berechnung mit Hilfe des Größe des Operators schreiben.

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

Hier beträgt die Größe von arr [] 5 und jede Ganzzahl nimmt Speicher 4 -Bytes an.

Der Gesamtspeicher wird also verbraucht = (5 * 4) Bytes.

= 20 Bytes.

Sizeof (arr [0]) bedeutet hier die Elemente sind ganzzahlig. Also braucht es Speicher 4 Bytes.

Also die Größe des Arrays = (20/4) Bytes = 5 Bytes.

Wenn wir Charakterarray oder Zeichenfolge anstelle von Ganzzahlarray nehmen, können wir erklären, was im nächsten Programm passiert ist.

Programmierbeispiel 2:

# enthalten
# enthalten
int main ()

char arr [] = a, b, c, d, e;
int i;
int size = sizeof (arr) / sizeof (arr [0]); // Größe des Arrays
printf („Größe von Array = %d \ n“, Größe); .
printf („Die Array -Elemente sind:“);
für (i = 0; i < size ; i++)

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

Ausgang: Die Größe des Arrays beträgt 5

Erläuterung: Hier deklarieren wir ein Array mit dem Namen arr [] und weisen einige Werte zu.Sie sind 'a', 'b', 'c', 'd', 'e'. Wenn wir die Größe des Arrays bestimmen möchten, bedeutet dies, wie viele Elemente im Array vorhanden sind, die Berechnung mit Hilfe von Größe von SizeOf () Operator schreiben.

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

Hier beträgt die Größe von arr [] 5 und jedes Zeichen nimmt Speicher 2 -Bytes an.

Der Gesamtspeicher wird also verbraucht = (5 * 2) Bytes.

= 10 Bytes.

sizeof (arr [0]) bedeutet hier die Elemente sind Zeichen. Also braucht es Speicher 2 -Bytes.

Also die Größe des Arrays = (10/2) Bytes = 5 Bytes.

Wenn wir Float Array anstelle von Charakterarray nehmen, können wir erklären, was im nächsten Programm passiert ist.

Programmierbeispiel 3:

# enthalten
# enthalten
int main ()

char arr [] = 1.5, 2.5, 3.5, 4.5, 5.5;
int size = sizeof (arr) / sizeof (arr [0]); // Größe des Arrays
printf („Größe von Array = %d \ n“, Größe);
printf ("Array -Elemente:");
für (int i = 0; i < size ; i++ )

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

Ausgang: Die Größe des Arrays beträgt 5

Erläuterung: Hier deklarieren wir ein Array mit dem Namen arr [] und weisen einige Werte zu.Sie sind 1.5, 2.5, 3.5, 4.5, 5.5. Wenn wir die Größe des Arrays bestimmen möchten, bedeutet dies, wie viele Elemente im Array vorhanden sind, müssen wir mithilfe von Größe von Sizeof () Operator berechnen.

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

Hier beträgt die Größe von arr [] 5 und jeder Float nimmt Speicher 8 Bytes an.

Der Gesamtspeicher wird also verbraucht = (5 * 8) Bytes.

= 40 Bytes.

Sizeof (arr [0]) bedeutet hier, dass die Elemente schwimmen sind. Also braucht es Speicher 8 Bytes.

Also die Größe des Arrays = (40/8) Bytes = 5 Bytes.

Berechnen Sie die Arraygröße mit Zeiger

Eine andere Methode zur Bestimmung der Arraygröße erfolgt durch die Verwendung von Zeiger.

Programmierbeispiel 4:

int main ()

int main ()

int arr [] = 1, 2, 3, 4, 5;
int size = * (& arr + 1) - arr; // Die Größenvariable mit Zeiger deklarieren.
printf („Anzahl der Elemente ist arr [] ist %d“, Größe);
Rückkehr 0;

Erläuterung: Hier berechnen wir die Größe des Arrays mit Zeiger.

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

Die obige Zeile hilft uns, die Größe des Arrays zu berechnen. Hier bedeutet ARR die Basisadresse des Arrays oder die Adresse des ersten Index des Arrays.

* (& arr + 1)

Dies bedeutet die Adresse des zweiten Index des Arrays. Weil wir der Adresse der Basisadresse 1 hinzufügen.

Wenn wir den Adresswert des Arrays von seiner Basisadresse abziehen, erhalten wir die Größe jedes Blocks im Array. Dann können wir die Größe des Arrays leicht herausfinden, indem wir die Gesamtno von Eingängen zählen, die wir diesem bestimmten Array gegeben haben.

Ausgang:

Abschluss

Es wird klar gezeigt, dass wir mit Hilfe von SizeOF () Operator Zeiger die Länge des Arrays oder die Größe des Arrays leicht berechnen können. Hauptsächlich ist der Betreiber von sizeof () für die Berechnung der Größe des Arrays verantwortlich, aber zusätzlich kann Zeiger auch die Größe des Arrays passiv bestimmen.