Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

C++-Arrays

C++-Arrays

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

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

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

double grade[27];

Hier, note ist ein Array, das maximal 27 Elemente von double enthalten kann Typ.

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


C++-Array-Deklaration

dataType arrayName[arraySize];

Zum Beispiel

int x[6];

Hier,


Zugriff auf Elemente im C++-Array

In C++ ist jedem Element in einem Array eine Zahl zugeordnet. Die Zahl wird als Array-Index bezeichnet. Wir können auf Elemente eines Arrays zugreifen, indem wir diese Indizes verwenden.

// syntax to access array elements
array[index];

Betrachten Sie das Array x wir oben gesehen haben.

Ein paar Dinge, die Sie sich merken sollten:

  • Die Array-Indizes beginnen mit 0 . Bedeutung x[0][var> ist das erste Element, das am Index 0 gespeichert wird .
  • Wenn die Größe eines Arrays n ist , das letzte Element wird am Index (n-1) gespeichert . In diesem Beispiel x[5][var> ist das letzte Element.
  • Elemente eines Arrays haben fortlaufende Adressen. Angenommen, die Startadresse ist beispielsweise x[0] ist 2120d. Dann die Adresse des nächsten Elements x[1] wird 2124d sein, die Adresse von x[2] wird 2128d sein und so weiter.

    Hier wird die Größe jedes Elements um 4 erhöht. Dies liegt an der Größe von int ist 4 Bytes.

C++-Array-Initialisierung

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

// declare and initialize and array
int x[6] = {19, 10, 8, 17, 9, 15};

Eine andere Methode, um ein Array während der Deklaration zu initialisieren:

// 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 Membern

In C++, wenn ein Array die Größe n hat , können wir bis zu n speichern Anzahl der Elemente im Array. Was passiert jedoch, wenn wir weniger als n speichern? Anzahl der Elemente.

Zum Beispiel

// store only 3 elements in the array
int x[6] = {19, 10, 8};

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

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


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

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[0];

// print ith element of the array
cout >> mark[i-1];

Beispiel 1:Anzeigen von Array-Elementen

#include <iostream>
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 << "\nThe numbers are: ";

    //  Printing array elements
    // using traditional for loop
    for (int i = 0; i < 5; ++i) {
        cout << numbers[i] << "  ";
    }

    return 0;
}

Ausgabe

The numbers are: 7  5  6  12  35
The numbers are: 7  5  6  12  35

Hier haben wir einen for verwendet Schleife, um von i = 0 zu iterieren bis i = 4 . In jeder Iteration haben wir numbers[i] gedruckt .

Wir haben wieder eine bereichsbasierte for-Schleife verwendet, um die Elemente des Arrays auszugeben. Weitere Informationen zu dieser Schleife finden Sie unter C++ Ranged for Loop.

Hinweis: In unserer bereichsbasierten Schleife haben wir den Code const int &n verwendet statt int n als Bereichsdeklaration. Allerdings ist die const int &n wird mehr bevorzugt, weil:

  1. Mit int n kopiert einfach die Array-Elemente in die Variable n während jeder Iteration. Dies ist nicht speichereffizient.

    &n verwendet jedoch die Speicheradresse der Array-Elemente, um auf ihre Daten zuzugreifen, ohne sie in eine neue Variable zu kopieren. Dies ist speichereffizient.
  2. Wir drucken einfach die Array-Elemente, ändern sie aber nicht. Daher verwenden wir const um die Werte des Arrays nicht versehentlich zu ändern.

Beispiel 2:Benutzereingaben entgegennehmen und in einem Array speichern

#include <iostream>
using namespace std;

int main() {
    int numbers[5];

    cout << "Enter 5 numbers: " << endl;

    //  store input from user to array
    for (int i = 0; i < 5; ++i) {
        cin >> numbers[i];
    }

    cout << "The numbers are: ";

    //  print array elements
    for (int n = 0; n < 5; ++n) {
        cout << numbers[n] << "  ";
    }

    return 0;
}

Ausgabe

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

Wieder einmal haben wir einen for verwendet Schleife, um von i = 0 zu iterieren bis i = 4 . In jeder Iteration haben wir eine Eingabe vom Benutzer genommen und in numbers[i] gespeichert .

Dann haben wir einen weiteren for verwendet Schleife, um alle Array-Elemente zu drucken.


Beispiel 3:Summe und Durchschnitt von Array-Elementen mit for-Schleife anzeigen

#include <iostream>
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 << "\nTheir Sum = " << sum << endl;

    // find the average
    average = sum / count;
    cout << "Their Average = " << average << endl;

    return 0;
}

Ausgabe

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

In diesem Programm:

  1. Wir haben ein double initialisiert Array namens Zahlen aber ohne Angabe der Größe. Wir haben auch drei doppelte Variablen sum deklariert , Zählung , und Durchschnitt .

    Hier, sum =0 und count = 0 .
  2. Dann haben wir einen bereichsbasierten for verwendet Schleife, um die Array-Elemente zu drucken. In jeder Iteration der Schleife fügen wir das aktuelle Array-Element zu sum hinzu .
  3. Wir erhöhen auch den Wert von count durch 1 in jeder Iteration, sodass wir die Größe des Arrays am Ende der for-Schleife erhalten.
  4. Nachdem wir alle Elemente gedruckt haben, drucken wir die Summe und den Durchschnitt aller Zahlen. Der Durchschnitt der Zahlen wird durch average = sum / count; angegeben

Hinweis: Wir haben einen Bereich for verwendet Schleife anstelle eines normalen for Schleife.

Ein normales for Schleife erfordert, dass wir die Anzahl der Iterationen angeben, die durch die Größe des Arrays gegeben ist.

Aber ein Bereich for Schleife erfordert keine solchen Angaben.


C++-Array außerhalb der Grenzen

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

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


C Sprache

  1. C#-Arrays
  2. C# Mehrdimensionales Array
  3. C#-gezacktes Array
  4. C++-Operatoren
  5. C++-Kommentare
  6. Übergeben eines Arrays an eine Funktion in der C++-Programmierung
  7. Java-Kopie-Arrays
  8. Arrays in C++ | Erklären | Initialisieren | Zeiger auf Array-Beispiele
  9. C++ Dynamische Zuordnung von Arrays mit Beispiel
  10. MATLAB - Arrays