C ++ Übergeben von Arrays als Funktionsparameter (mit Beispielen)

In diesem Tutorial lernen wir anhand von Beispielen, wie Sie ein eindimensionales und mehrdimensionales Array als Funktionsparameter in C ++ übergeben.

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

Bevor Sie lernen, wie Sie Arrays als Funktionsargument übergeben, sollten Sie sich mit C ++ - Arrays und C ++ - Funktionen vertraut machen.

Syntax zum Übergeben 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 intder Funktion ein Typarray mit dem Namen marken übergeben total(). Die Größe des Arrays beträgt 5.

Beispiel 1: Übergeben eines eindimensionalen Arrays an eine Funktion

 // C++ Program to display marks of 5 students #include 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

 Anzeigen von Noten: Schüler 1: 88 Schüler 2: 76 Schüler 3: 90 Schüler 4: 61 Schüler 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 repräsentieren die Argumentmarken die Speicheradresse des ersten Elements der Array-Marken (5).
  2. Beachten Sie jedoch den Parameter der 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 wird in int m(5)konvertiert int* m;. Dies zeigt auf dieselbe Adresse, auf die die Array-Markierungen zeigen. Dies bedeutet, dass wir, wenn wir m (5) im Funktionskörper manipulieren, tatsächlich die ursprünglichen Array-Markierungen manipulieren.
    C ++ behandelt die Übergabe eines Arrays an eine Funktion auf diese Weise, um Speicher und Zeit zu sparen.

Übergeben eines mehrdimensionalen Arrays an eine Funktion

Wir können auch mehrdimensionale Arrays als Argument an die Funktion übergeben. Beispielsweise,

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

 Anzeigen von Werten: 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 mit dem Namen definiert display(). Die Funktion verwendet ein zweidimensionales Array int n()(2)als Argument und druckt die Elemente des Arrays.

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

Hinweis : Die Anzahl der Zeilen im Array muss nicht angegeben werden. Die Anzahl der Spalten sollte jedoch immer angegeben werden. Deshalb haben wir verwendet int n()(2).

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

C ++ Zurückgeben eines Arrays von einer Funktion

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 mithilfe von Zeigern zurückgegeben.

In den kommenden Tutorials erfahren Sie, wie Sie Arrays von einer Funktion zurückgeben.

Interessante Beiträge...