C ++ - Arrays (mit Beispielen)

In diesem Tutorial lernen wir, mit Arrays zu arbeiten. Wir werden lernen, Array-Elemente in der C ++ - Programmierung anhand von Beispielen zu deklarieren, zu initialisieren und darauf zuzugreifen.

In C ++ ist ein Array eine Variable, die mehrere Werte desselben Typs speichern kann. Beispielsweise,

Angenommen, eine Klasse hat 27 Schüler, und wir müssen die Noten aller von ihnen speichern. Anstatt 27 separate Variablen zu erstellen, können wir einfach ein Array erstellen:

 double grade(27);

Grade ist hier ein Array, das maximal 27 Elemente des doubleTyps enthalten kann.

In C ++ können Größe und Typ der Arrays nach ihrer Deklaration nicht mehr geändert werden.

C ++ - Array-Deklaration

 dataType arrayName(arraySize);

Beispielsweise,

 int x(6);

Hier,

  • int - Art des zu speichernden Elements
  • x - Name des Arrays
  • 6 - Größe des Arrays

Zugriff auf Elemente in C ++ Array

In C ++ ist jedes Element in einem Array einer Zahl zugeordnet. Die Nummer wird als Array-Index bezeichnet. Mit diesen Indizes können wir auf Elemente eines Arrays zugreifen.

 // syntax to access array elements array(index);

Betrachten Sie das Array x, das wir oben gesehen haben.

Elemente eines Arrays in C ++

Einige Dinge, an die Sie sich erinnern sollten:

  • Die Array-Indizes beginnen mit 0. Die Bedeutung x (0) ist das erste im Index gespeicherte Element 0.
  • Wenn die Größe eines Arrays ist n, wird das letzte Element im Index gespeichert (n-1). In diesem Beispiel ist x (5) das letzte Element.
  • Elemente eines Arrays haben aufeinanderfolgende Adressen. Angenommen, die Startadresse von x(0)lautet 2120d. Dann ist die Adresse des nächsten Elements x(1)2124d, die Adresse von x(2)ist 2128d und so weiter.
    Hier wird die Größe jedes Elements um 4 erhöht. Dies liegt daran, dass die Größe von int4 Bytes beträgt.

C ++ - Array-Initialisierung

In C ++ ist es möglich, ein Array während der Deklaration zu initialisieren. Beispielsweise,

 // declare and initialize and array int x(6) = (19, 10, 8, 17, 9, 15);
C ++ Array-Elemente und ihre Daten

Eine andere Methode zum Initialisieren des Arrays während der Deklaration:

 // declare and initialize an array int x() = (19, 10, 8, 17, 9, 15);

Hier haben wir die Größe des Arrays nicht erwähnt. In solchen Fällen berechnet der Compiler automatisch die Größe.

C ++ - Array mit leeren Elementen

Wenn ein Array in C ++ eine Größe hat n, können wir bis zu n Elemente im Array speichern. Was passiert jedoch, wenn wir weniger als n Elemente speichern?

Beispielsweise,

 // store only 3 elements in the array int x(6) = (19, 10, 8);

Hier hat das Array x eine Größe von 6. Wir haben es jedoch mit nur 3 Elementen initialisiert.

In solchen Fällen weist der Compiler den verbleibenden Stellen zufällige Werte zu. Oft ist dieser Zufallswert einfach 0.

Leeren Array-Mitgliedern wird automatisch der Wert 0 zugewiesen

Wie füge ich Array-Elemente ein und drucke sie aus?

 int mark(5) = (19, 10, 8, 17, 9) // change 4th element to 9 mark(3) = 9; // take input from the user // store the value at third position cin>> mark(2); // take input from the user // insert at ith position cin>> mark(i-1); // print first element of the array cout <> mark(i-1);

Beispiel 1: Anzeigen von Array-Elementen

 #include using namespace std; int main() ( int numbers(5) = (7, 5, 6, 12, 35); cout << "The numbers are: "; // Printing array elements // using range based for loop for (const int &n : numbers) ( cout << n << " "; ) cout << "The numbers are: "; // Printing array elements // using traditional for loop for (int i = 0; i < 5; ++i) ( cout << numbers(i) << " "; ) return 0; )

Ausgabe

 Die Zahlen sind: 7 5 6 12 35 Die Zahlen sind: 7 5 6 12 35

Hier haben wir eine forSchleife verwendet, um von i = 0bis zu iterieren i = 4. In jeder Iteration haben wir gedruckt numbers(i).

We again used a range based for loop to print out the elements of the array. To learn more about this loop, check C++ Ranged for Loop.

Note: In our range based loop, we have used the code const int &n instead of int n as the range declaration. However, the const int &n is more preferred because:

  1. Using int n simply copies the array elements to the variable n during each iteration. This is not memory-efficient.
    &n, however, uses the memory address of the array elements to access their data without copying them to a new variable. This is memory-efficient.
  2. We are simply printing the array elements, not modifying them. Therefore, we use const so as not to accidentally change the values of the array.

Example 2: Take Inputs from User and Store Them in an Array

 #include using namespace std; int main() ( int numbers(5); cout << "Enter 5 numbers: " << endl; // store input from user to array for (int i = 0; i > numbers(i); ) cout << "The numbers are: "; // print array elements for (int n = 0; n < 5; ++n) ( cout << numbers(n) << " "; ) return 0; )

Output

 Enter 5 numbers: 11 12 13 14 15 The numbers are: 11 12 13 14 15

Once again, we have used a for loop to iterate from i = 0 to i = 4. In each iteration, we took an input from the user and stored it in numbers(i).

Then, we used another for loop to print all the array elements.

Example 3: Display Sum and Average of Array Elements Using for Loop

 #include using namespace std; int main() ( // initialize an array without specifying size double numbers() = (7, 5, 6, 12, 35, 27); double sum = 0; double count = 0; double average; cout << "The numbers are: "; // print array elements // use of range-based for loop for (const double &n : numbers) ( cout << n << " "; // calculate the sum sum += n; // count the no. of array elements ++count; ) // print the sum cout << "Their Sum = " << sum << endl; // find the average average = sum / count; cout << "Their Average = " << average << endl; return 0; )

Output

 The numbers are: 7 5 6 12 35 27 Their Sum = 92 Their Average = 15.3333

In this program:

  1. We have initialized a double array named numbers but without specifying its size. We also declared three double variables sum, count, and average.
    Here, sum =0 and count = 0.
  2. Then we used a range based for loop to print the array elements. In each iteration of the loop, we add the current array element to sum.
  3. Wir erhöhen auch den Wert von count um 1in jeder Iteration, so dass wir die Größe des Arrays bis zum Ende der for-Schleife erhalten können.
  4. Nachdem wir alle Elemente gedruckt haben, drucken wir die Summe und den Durchschnitt aller Zahlen. Der Durchschnitt der Zahlen ist gegeben durchaverage = sum / count;

Hinweis: Wir haben eine Fernkampfschleife foranstelle einer normalen forSchleife verwendet.

Für eine normale forSchleife müssen wir die Anzahl der Iterationen angeben, die sich aus der Größe des Arrays ergibt.

Für eine Fernschleife sind forsolche Spezifikationen jedoch nicht erforderlich.

C ++ - Array außerhalb der Grenzen

Wenn wir ein Array der Größe 10 deklarieren, enthält das Array Elemente vom Index 0 bis 9.

Wenn wir jedoch versuchen, auf das Element bei Index 10 oder mehr als 10 zuzugreifen, führt dies zu undefiniertem Verhalten.

Interessante Beiträge...