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

Übergeben eines Arrays an eine Funktion in der C++-Programmierung

Übergeben eines Arrays an eine Funktion in der C++-Programmierung

In diesem Tutorial lernen wir anhand von Beispielen, wie man in C++ ein ein- und mehrdimensionales Array als Funktionsparameter übergibt.

In C++ können wir Arrays als Argument an eine Funktion übergeben. Und wir können auch Arrays von einer Funktion zurückgeben.

Bevor Sie lernen, Arrays als Funktionsargument zu übergeben, sollten Sie sich mit C++-Arrays und C++-Funktionen auskennen.


Syntax für die Übergabe von Arrays als Funktionsparameter

Die Syntax zum Übergeben eines Arrays an eine Funktion lautet:

returnType functionName(dataType arrayName[arraySize]) {
    // code
}

Sehen wir uns ein Beispiel an,

int total(int marks[5]) {
    // code
}

Hier haben wir einen int übergeben Geben Sie ein Array mit dem Namen marks ein zur Funktion total() . Die Größe des Arrays ist 5 .


Beispiel 1:Übergabe eines eindimensionalen Arrays an eine Funktion

// C++ Program to display marks of 5 students

#include <iostream>
using namespace std;

// declare function to display marks
// take a 1d array as parameter
void display(int m[5]) {
    cout << "Displaying marks: " << endl;

    // display array elements    
    for (int i = 0; i < 5; ++i) {
        cout << "Student " << i + 1 << ": " << m[i] << endl;
    }
}

int main() {

    // declare and initialize an array
    int marks[5] = {88, 76, 90, 61, 69};
    
    // call display function
    // pass array as argument
    display(marks);

    return 0;
}

Ausgabe

Displaying marks: 
Student 1: 88
Student 2: 76
Student 3: 90
Student 4: 61
Student 5: 69

Hier,

  1. Wenn wir eine Funktion aufrufen, indem wir ein Array als Argument übergeben, wird nur der Name des Arrays verwendet.
    display(marks);
    Hier ist das Argument marks stellen die Speicheradresse des ersten Elements des Arrays marks[5] dar .
  2. Beachten Sie jedoch den Parameter von display() Funktion.
    void display(int m[5])
    Hier verwenden wir die vollständige Deklaration des Arrays im Funktionsparameter, einschließlich der eckigen Klammern [] .
  3. Der Funktionsparameter int m[5] konvertiert zu int* m; . Dies zeigt auf dieselbe Adresse, auf die das Array marks zeigt . Das heißt, wenn wir m[5] manipulieren im Funktionskörper manipulieren wir eigentlich das ursprüngliche Array marks .

    C++ handhabt die Übergabe eines Arrays an eine Funktion auf diese Weise, um Speicher und Zeit zu sparen.

Mehrdimensionales Array an eine Funktion übergeben

Wir können auch mehrdimensionale Arrays als Argument an die Funktion übergeben. Zum Beispiel

Beispiel 2:Übergeben eines mehrdimensionalen Arrays an eine Funktion

// C++ Program to display the elements of two
// dimensional array by passing it to a function

#include <iostream>
using namespace std;

// define a function 
// pass a 2d array as a parameter
void display(int n[][2]) {
    cout << "Displaying Values: " << endl;
    for (int i = 0; i < 3; ++i) {
        for (int j = 0; j < 2; ++j) {
            cout << "num[" << i << "][" << j << "]: " << n[i][j] << endl;
        }
    }
}

int main() {

    // initialize 2d array
    int num[3][2] = {
        {3, 4},
        {9, 5},
        {7, 1}
    };

    // call the function
    // pass a 2d array as an argument
    display(num);

    return 0;
}

Ausgabe

Displaying Values: 
num[0][0]: 3
num[0][1]: 4
num[1][0]: 9
num[1][1]: 5
num[2][0]: 7
num[2][1]: 1

Im obigen Programm haben wir eine Funktion namens display() definiert . Die Funktion nimmt ein zweidimensionales Array, int n[][2] als Argument und gibt die Elemente des Arrays aus.

Beim Aufruf der Funktion übergeben wir nur den Namen des zweidimensionalen Arrays als Funktionsargument display(num) .

Hinweis :Es ist nicht zwingend erforderlich, die Anzahl der Zeilen im Array anzugeben. Die Anzahl der Spalten sollte jedoch immer angegeben werden. Aus diesem Grund haben wir int n[][2] verwendet .

Wir können auch Arrays mit mehr als 2 Dimensionen als Funktionsargument übergeben.


C++ gibt ein Array von einer Funktion zurück

Wir können auch ein Array von der Funktion zurückgeben. Das tatsächliche Array wird jedoch nicht zurückgegeben. Stattdessen wird die Adresse des ersten Elements des Arrays mit Hilfe von Zeigern zurückgegeben.

Wir werden in den kommenden Tutorials lernen, wie man Arrays von einer Funktion zurückgibt.


C Sprache

  1. C#-gezacktes Array
  2. C++-Operatoren
  3. C++ Friend-Funktion und Friend-Klassen
  4. C-Programmieroperatoren
  5. Arrays in C++ | Erklären | Initialisieren | Zeiger auf Array-Beispiele
  6. C++ Dynamische Zuordnung von Arrays mit Beispiel
  7. Überladen von C++-Operatoren mit Beispielen
  8. C++ Funktionen mit Programmbeispielen
  9. C-Tutorial
  10. C++-Überladung (Operator und Funktion)