logo

Länge des Arrays in C

Die Länge eines Arrays in C bezieht sich auf die Anzahl der Elemente im Array. Es muss zum Zeitpunkt der Erklärung angegeben werden. Sie wird auch als Größe eines Arrays bezeichnet und dient zur Bestimmung des Speicherbedarfs zum Speichern aller seiner Elemente. In der Programmiersprache C haben wir keine vordefinierte Funktion, um die Länge des Arrays zu ermitteln, aber wir können sie manuell bestimmen, indem wir die verschiedenen unten aufgeführten Methoden verwenden:

    Verwenden des sizeof()-Operators, Verwenden der Zeigerarithmetik, Verwenden einer Schleife

1. Verwenden des sizeof()-Operators

Der sizeof-Operator ist ein unärer Operator zur Kompilierungszeit, der die Größe der Variablen und Datentypen berechnet. Es gibt einen ganzzahligen Wert zurück, der die Größe des Ausdrucks oder einer Variablen in Bytes darstellt. Der Operator „sizeof“ wird hauptsächlich für die dynamische Speicherzuweisung verwendet, kann aber auch zum Ermitteln der Länge eines Arrays verwendet werden.



Der Trick besteht darin, zunächst die Größe des gesamten Arrays in Bytes und die Größe eines einzelnen Elements mithilfe des Operators „sizeof“ zu ermitteln und dann die Größe des gesamten Arrays durch die Größe eines einzelnen Elements zu dividieren, um die Anzahl der Elemente zu erhalten im Array.

Syntax:

data_type size = sizeof(Array_name) / sizeof(Array_name[index]);>

In der obigen Syntax gilt:



    Datentyp: Dies ist der Variablentyp, in dem wir die Länge des Arrays speichern möchten (wie int, size_t usw.). Array_name: Dies ist der Name des Arrays, dessen Größe Sie ermitteln möchten. sizeof(Array_name): Es ist ein Operator, der die Größe des gesamten Arrays in Bytes zurückgibt. sizeof(Array_name[index]): Gibt die Größe eines einzelnen Elements im Array in Bytes zurück. Index: Dies ist der Index eines beliebigen Elements im Array.

Beispiel:

C




Maus und Maustypen



// C Program to calculate size of an array using sizeof()> // operator> #include> int> main()> {> >int> Arr[] = { 1, 2, 3, 4, 5 };> > >// variable to store size of Arr> >int> length =>sizeof>(Arr) />sizeof>(Arr[0]);> >printf>(>'The length of the array is: %d '>, length);> >return> 0;> }>

>

>

Ausgabe

The length of the array is: 5>

Zeitkomplexität: O(1), da nur konstante Zeitoperationen durchgeführt wurden.

Raumkomplexität: O(1), da kein zusätzlicher Platz verwendet wurde.

2. Verwendung der Zeigerarithmetik

Wir können die Länge eines Arrays in C auch mithilfe der Zeigerarithmetik berechnen. Diese Lösung, einen Zeiger zu verwenden, ist nur ein Hack, der verwendet wird, um die Anzahl der Elemente in einem Array zu ermitteln.

Syntax:

 data_type length = *(&arr + 1) - arr;>

In der obigen Syntax:

    &arr: Zeiger auf ein Array von Elementen. (&arr + 1): Die Speicheradresse vor dem Array als Zeigertyp ist ein Zeiger auf ein Array von Ganzzahlen. *(&arr + 1) – arr: Inklusive Differenz zwischen dem Anfang und dem Ende des Arrays

Beispiel:

C




// C Program to calculate size of an array using pointer arithmetic> #include> int> main()> {> >int> Arr[] = { 1, 2, 3, 4, 5, 6 };> >// variable to store the size of Arr> >int> length = *(&Arr + 1) - Arr;> >printf>(>'Number of elements in Arr[] is: %d'>, length);> >return> 0;> }>

>

sortierte Arrayliste Java
>

Ausgabe

Number of elements in Arr[] is: 6>

3. Schleife verwenden

Die Schleifenmethode wird verwendet, um die Länge eines Arrays in C zu berechnen. Sie durchläuft alle Elemente eines Arrays und erhöht die Anzahl.

Beispiel:

C




// C Program to calculate size of an array using loop> #include> > int> arr_length(>int> arr[])> {> >int> i;> >int> count = 0;> >for>(i=0; arr[i]!=>' '>; i++)> >{> >count++;> >}> >return> count;> }> > int> main()> {> >int> arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};> >int> n;> > >n = arr_length(arr);> >printf>(>'Length of Array is: %d'>, n);> > >return> 0;> }> // This code is contributed by Susobhan Akhuli>

js base64 dekodieren

>

>

Ausgabe

Length of Array is: 10>

Zeitkomplexität: O(n) wobei n die Anzahl der Elemente im Array ist.

Raumkomplexität: O(1), da kein zusätzlicher Platz verwendet wurde.

Notiz: Bitte beachten Sie, dass diese Methoden nur funktionieren, wenn das Array im selben Bereich deklariert ist. Diese Methoden schlagen fehl, wenn wir sie an einem Array ausprobieren, das als Zeiger übergeben wird. Dies geschieht aufgrund des Array-Zerfalls.

Die iterativen Methoden zum Ermitteln der Länge von Zeichenfolgen (Arrays von Zeichen) können auch nicht auf Arrays anderer Typen angewendet werden, da es bei diesen Array-Typen im Gegensatz zu den Array-Typen keinen Endindikator gibt „ “ NULL Zeichen, das das Ende der Zeichenfolge markiert.