Ein Array ist eine Gruppe von Elementen desselben Datentyps. Viele Funktionen werden auf Arrays ausgeführt, entweder im Hauptprogramm oder außerhalb davon, in den Funktionen. In C++ müssen wir sie im Falle von Funktionen übergeben. Dies geschieht über Parameter als Argumente. Diese Argumente können auf unterschiedliche Weise übergeben werden, entweder in Form von großen Arrays oder durch Zeiger-Arrays.

In diesem Tutorium werden wir einige wichtige Aspekte der Array-Übertragung mit verschiedenen Parametern der Funktionen behandeln.

Syntax [Name der Funktion] (Datentyp arrayname[Arraygröße]) { Funktionskörper } Beispiel 1 Betrachten wir ein Beispiel, in dem wir die Noten der Schüler in einem C++-Programm ausdrucken müssen. Dieser Ausdruck wird in einer separaten Funktion Übergabe eines Arrays an eine Funktion C++ nicht im Hauptprogramm vorgenommen. Im Gegensatz dazu werden wir im Hauptprogramm Eingaben machen und diese Werte als Parameter an die Funktion übergeben.

Betrachten Sie die Funktion. In ihrem Parameter befindet sich eine Array-Datentyp-Variable, die die Werte eines Arrays aufnehmen soll. Das vollständige Array wird hier deklariert. Die Marken werden mit Hilfe der for-Schleife angezeigt. Wie bei Arrays brauchen wir Schleifen, um Ausdrucke von ihnen zu erhalten.

In der Hauptfunktion deklarieren wir ein Array mit seiner Größe und den Werten darin. Dann müssen wir die Funktion aufrufen. Die Methode ist also, dass wir den Funktionsnamen mit dem Namen des Arrays als Argument in den Parameter schreiben.

Wir haben die Größe des Arrays nicht definiert. Display (marks); Das Argument im Parameter impliziert die Speicheradresse des Arrays.

Im Parameter der Kopfzeile der Funktion wird int m[7] in int *m umgewandelt. Dies beinhaltet die gleiche Adresse wie das ursprüngliche Array. Wenn wir m[5] im Hauptteil der Funktion verwenden, werden wir das ursprüngliche Array manipulieren. Void display ( int m[7] ) Um in einem Linux-Betriebssystem die Ausgabe über ein Terminal zu erhalten, müssen einige Voraussetzungen installiert werden.

Es wird ein Compiler benötigt, der den Code kompiliert und dann im Terminal der Eingabeaufforderung ausführt.

G++ wird in C++ für die Kompilierung verwendet. $ g++ -o code3 code3.c $ .//code3 Wobei -o verwendet wird, um die Ausgabe aus der Quelldatei in der Ausgabedatei zu speichern. Anhand der Ausgabe können Sie feststellen, dass alle Zahlen, die in der Hauptfunktion in das Array eingefügt wurden, über die Display-Funktion übergeben und angezeigt werden.

Beispiel 2 Ein weiteres Beispiel für die Übergabe eines Arrays durch Parameter ist die Übergabe eines mehrdimensionalen Arrays an die Funktion. Hier wird ein zweidimensionales Array (2d) verwendet. In der Hauptfunktion müssen wir ein Array initialisieren. Int array[row][column] Die Initialisierung eines 2d-Arrays umfasst Zeile und Spalte.

Ihre Reihenfolge muss während des gesamten Programms beibehalten werden. 2d array wird mit zwei Zahlen in den Klammern initialisiert. Da wir 2 Spalten in der Initialisierung beschrieben haben.

Übergabe eines Arrays an eine Funktion C++

Display (num); Wir werden nur den Array-Namen im Parameter als Argument verwenden. Nun wollen wir uns die Funktionsweise der Display-Funktion ansehen. Wenn die Funktion gestartet wird, nimmt sie eine Array-Variable an, um ein Array zu akzeptieren, das durch den Funktionsaufruf durch das Hauptprogramm übergeben wird. Void display( int n[][2] ) Die Angabe der Anzahl der Spalten ist obligatorisch. Im Vergleich dazu ist dies bei den Zeilen nicht unbedingt erforderlich. Deshalb haben wir die Zeilenklammern hier leer gelassen, da wir die for-Schleife zur Anzeige der Ergebnisse verwenden.

Im Falle eines 2-dimensionalen Arrays verwenden wir jedoch eine verschachtelte for-Schleife. Sie enthält zwei for-Anweisungen mit 2 Variablen in ihnen. Wir können die Ausgabe anzeigen, indem wir denselben Compiler verwenden. Sie können sehen, dass jeder Wert separat mit der Zeilen- und Spaltennummer angezeigt wird. Beispiel 3 Dieses Beispiel unterscheidet sich ein wenig von den vorherigen Beispielen. In diesem Beispiel wird die Array-Größe im Parameter des Funktionsaufrufs erwähnt.

Und in der Funktionsdeklaration wird auch eine Variable eingeführt, die die Größe eines Arrays aufnehmen kann. Ausgehend vom Hauptprogramm wird ein Array mit den Werten initialisiert. Avg = getAverage(balance, 5); Das Ergebnis wird in der Variablen avg gespeichert. Anstatt nur den Array-Namen zu übergeben, wird dem Parameter auch die Array-Größe hinzugefügt. Der Parameter enthält auch die Array-Typ-Variable und einen Integer-Datentyp zur Aufnahme der Array-Größe.

Der Typ des Hauptprogramms ist int, da es einen Integer-Wert von der Funktion erhält. In allen anderen Fällen ist er ungültig. Nun werden wir die Ausgabe sehen. Dieser Wert ist durch das Bild sichtbar, das von der Funktion erhalten wird. Beispiel 4 In diesem Beispiel geht es darum, die maximale Anzahl in einem Array zu bestimmen, und zwar aus zwei Arrays. Hier initialisieren wir zwei Arrays im Hauptprogramm. Beide Arrays werden in separaten Funktionsaufrufen printMax(arr1); printMax(arr2); an die Funktion übergeben, wobei printMax der Name der Funktion und arr das Array ist.

Das Ergebnis wird nicht von der Funktion zurückgegeben und wird dort angezeigt. Die For-Schleife berechnet die maximale Anzahl in beiden Arrays.

Die if-Anweisung wird innerhalb der for-Schleife verwendet. Der Kopf der Funktion lautet: void printMax(int arr[5]) Da beide Arrays unterschiedliche Werte enthalten, werden auch die Ergebnisse unterschiedlich sein. Beispiel 5 Dieses Beispiel ist eine Zusammenfassung aller Arten von Arrays, die die Parameter durchlaufen.

Dies können große, kleine oder Zeiger-Arrays sein. Wir werden sie der Reihe nach betrachten. Im Hauptprogramm wird jede Funktion zuerst deklariert. Sie können den Unterschied in ihrer Deklaration aufzeigen. Int sum1(int tmp[5]); Int sum2(int tmp[]); Int sum3(int * tmp); Diese drei Arrays zeigen, dass Arrays mit diesen Parametern in der Funktion übergeben werden können.

Nach der Initialisierung der Funktion folgt das Hauptprogramm, in dem das Array deklariert wird. Im Gegensatz zum vorherigen Beispiel wird ein Array statt zwei initialisiert, aber es wird auf drei verschiedene Arten übergeben. Nun sehen wir uns die Funktionsaufrufe an, die hier gemacht werden. Total = sum1(sales); Total =sum2(sales); Total = sume3(sales); Die Ausgabe wird in der Hauptfunktion angezeigt, daher wird eine Variable deklariert, die den von der Funktion zurückgegebenen Wert aufnimmt.

Aus allen drei Funktionsaufrufen können Sie ersehen, dass die Parameter hier gleich sind. Jedes Array enthält nur den Namen eines Arrays. Die Parameter der Funktion, die das Array annimmt, sind jedoch unterschiedlich. Der innere Körper aller drei Funktionen ist derselbe, da die Summe aller Zahlen durch die Verwendung der For-Schleife berechnet wird. Die Methodik und die Werte des Arrays sind die gleichen, nur die Parameter der Funktionen unterscheiden sich. Damit ist bewiesen, dass wir entweder verschiedene Methoden verwenden können, um ein Array zu akzeptieren, oder die gleiche Funktionalität ausführen können, und die Antwort ist die gleiche.

Wir können dies durch Überprüfung der Ausgabe bestätigen. Wenn wir die Übergabe eines Arrays an eine Funktion C++ Kompilierungsprozedur verwenden, erhalten wir die Ausgabe, die in der unten angehängten Abbildung gezeigt wird. Sie können sehen, dass die Antwort für alle drei verwendeten Funktionen gleich ist. Fazit In diesem Artikel wird der Benutzer die Methode der Übergabe eines Arrays in Parametern kennenlernen. Arrays können in vielen Fällen gehandhabt werden, wenn es darum geht, den Wert zurückzugeben oder ihn in Argumenten zu übergeben.


23 2 7