Übergabe eines Arrays an eine Funktion C++

Passing An Array Function C



Ein Array ist eine Gruppe von Elementen desselben Datentyps. Viele Funktionen werden auf Arrays entweder im Hauptprogramm oder außerhalb davon in den Funktionen ausgeführt. In C++ müssen wir im Fall von Funktionen diese übergeben. Dies geschieht über Parameter als Argumente. Diese Argumente können auf verschiedene Weise erfolgen, entweder über große Arrays oder über das Zeigerarray. In diesem Tutorial werden einige wichtige Aspekte der Array-Übertragung mit verschiedenen Parametern der Funktionen behandelt.

Syntax

[ZurückkehrenTyp] [Name vonFunktion] (DatenTypArrayname[ArrayGröße])

{

FunktionKarosserie

}

Beispiel 1

Betrachten Sie ein Beispiel, in dem wir die Noten von Schülern im C++-Programm ausgeben müssen. Dieser Ausdruck wird in einer separaten Funktion statt im Hauptprogramm vorgenommen. Im Gegensatz dazu nehmen wir Eingaben im Hauptprogramm entgegen und übergeben diese Werte als Parameter an die Funktion. Betrachten Sie die Funktion. In seinem Parameter gibt es eine Array-Datentypvariable, die die Werte eines Arrays akzeptiert. Das vollständige Array wird hier deklariert. Die Markierungen werden mit Hilfe der for-Schleife angezeigt. Wie bei Arrays benötigen wir Schleifen, um von ihnen Druck zu erhalten.









In Richtung Hauptfunktion deklarieren wir ein Array mit seiner Größe und seinen Werten darin. Da müssen wir die Funktion aufrufen. Die Methode besteht also darin, dass wir den Funktionsnamen mit dem Namen des Arrays in den Parameter als Argument schreiben. Wir haben die Größe des Arrays nicht definiert.



Anzeige(Marken);

Das Argument im Parameter impliziert die Speicheradresse des Arrays. Im Parameter des Headers der Funktion wird int m[7] in int *m umgewandelt. Dies beinhaltet dieselbe Adresse wie das ursprüngliche Array. Wenn wir m[5] im Hauptteil der Funktion verwenden, werden wir das ursprüngliche Array manipulieren.





Leeranzeige(int m[7] )

Im Linux-Betriebssystem müssen einige Voraussetzungen installiert sein, um eine Ausgabe über ein Terminal zu erhalten. Es benötigt einen Compiler, um den Code zu kompilieren und dann im Eingabeaufforderungsterminal auszuführen. G++ wird in C++ für die Kompilierung verwendet.



$g++ -odercode3 code3.c

$./Code3

Wobei –o verwendet wird, um die Ausgabe aus der Quelldatei in die Ausgabedatei zu speichern.

An der Ausgabe können Sie erkennen, dass alle im Array in der Hauptfunktion initiierten Zahlen über die Anzeigefunktion übergeben und angezeigt werden.

Beispiel 2

Ein weiteres Beispiel für die Übergabe von Arrays an 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[Reihe][Säule]

Die 2D-Array-Initialisierung umfasst Zeile und Spalte. Und ihre Ordnung soll während des gesamten Programms beibehalten werden. Das 2d-Array wird mit zwei Zahlen in den Klammern initialisiert. Wie wir bei der Initialisierung 2 Spalten beschrieben haben.

Anzeige(Auf eins);

Als Argument verwenden wir nur den Array-Namen im Parameter.

Jetzt sehen wir uns die Funktionsweise der Anzeigefunktion an. Beim Starten der Funktion wird eine Array-Variable benötigt, um ein vom Funktionsaufruf über das Hauptprogramm übergebenes Array zu akzeptieren.

Leeranzeige(int n[][2] )

Die Anzahl der Spalten ist zwingend anzugeben. Im Vergleich dazu ist es bei Reihen nicht zwingend erforderlich. Aus diesem Grund haben wir die Zeilenklammern hier leer gelassen, da wir die for-Schleife verwenden, um die Ergebnisse anzuzeigen. Aber im Fall eines 2-dimensionalen Arrays verwenden wir eine verschachtelte for-Schleife. Es enthält zwei for-Anweisungen mit 2 Variablen darin.

Wir können die Ausgabe anzeigen, indem wir denselben Compiler verwenden. Sie können das Ergebnis sehen, dass jeder Wert separat mit der Zeilen- und der Spaltennummer angezeigt wird.

Beispiel 3

Dieses Beispiel unterscheidet sich ein wenig von den vorherigen. In diesem Beispiel erwähnen wir die Array-Größe im Parameter des Funktionsaufrufs. Und in der Funktionsdeklaration wird auch eine Variable eingeführt, die die Größe eines Arrays akzeptiert.

Ausgehend vom Hauptprogramm wird ein Array mit den Werten initialisiert.

Durchschnitt = getAverage(Balance,5);

Das Ergebnis wird in der avg-Variablen 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, um die Array-Größe zu erhalten. Der Typ des Hauptprogramms ist int, da es einen ganzzahligen Wert von der Funktion erhält. Andernfalls ist sie in anderen Fällen ungültig.

Jetzt sehen wir die Ausgabe. Dieser Wert ist sichtbar durch das Bild wird von der Funktion erhalten.

Beispiel 4

Dieses Beispiel bezieht sich auf die Bestimmung der maximalen Anzahl im Array, und zwar aus zwei Arrays. Hier initialisieren wir zwei Arrays im Hauptprogramm. Beide Arrays werden in separaten Funktionsaufrufen separat an die Funktion übergeben

printMax(arr1);

printMax(arr2);

Dabei ist printMax der Name der Funktion und arr das Array. Das Ergebnis wird nicht von der Funktion zurückgegeben und dort angezeigt. Die For-Schleife berechnet die maximale Anzahl in beiden Arrays. Die If-Anweisung wird innerhalb der for-Schleife verwendet. Der Header der Funktion lautet:

void printMax(int arr[5])

Da beide Arrays unterschiedliche Werte enthalten, sind die Ergebnisse unterschiedlich.

Beispiel 5

Dieses Beispiel ist die Zusammenfassung aller Arten von Arrays, die die Parameter durchlaufen. Dies können Arrays mit Größe, ohne Größe oder Zeiger-Arrays sein. Wir werden sie einzeln betrachten.

Im Hauptprogramm wird jede Funktion zuerst deklariert. Auf den Unterschied können Sie in deren Erklärung hinweisen.

Int Summe1(int tmp[5]);

Int Summe2(int tmp[]);

Int. Summe3(int*tmp);

Diese drei Arrays zeigen, dass Arrays mit diesen Parametern in der Funktion übergeben werden können.

Nach der Funktionsinitialisierung haben wir das Hauptprogramm, in dem das Array deklariert wird. Im Gegensatz zum vorherigen Beispiel wird ein Array anstelle von zwei initialisiert, aber es wird auf drei verschiedene Arten übergeben. Jetzt sehen wir die hier getätigten Funktionsaufrufe.

Gesamt = Summe1(Der Umsatz);

Gesamt = Summe2(Der Umsatz);

Gesamt = sume3(Der Umsatz);

Die Ausgabe wird in der Hauptfunktion angezeigt, sodass eine Variable deklariert wird, die den von der Funktion zurückgegebenen Wert akzeptiert. An allen drei Funktionsaufrufen können Sie erkennen, dass hier die Parameter gleich sind. Jedes Array enthält nur den Namen eines Arrays. Aber die Parameter der Funktion, die das Array akzeptiert, sind unterschiedlich.

Der innere Körper aller drei Funktionen ist gleich, da die Summe aller Zahlen aus der Verwendung der For-Schleife berechnet wird. Die Methodik und die Werte des Arrays sind gleich; nur gibt es eine Unterscheidung zwischen den Parametern der Funktionen. Daher 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 dieselbe. Wir können dies bestätigen, indem wir die Ausgabe überprüfen. Mit dem gleichen Kompilierungsverfahren erhalten wir die im unten angehängten Bild gezeigte Ausgabe.

Sie sehen, dass die Antwort für alle drei verwendeten Funktionen gleich ist.

Abschluss

In diesem Artikel lernt der Benutzer die Übergabemethode eines Arrays in Parametern kennen. Arrays können in vielen Fällen gehandhabt werden, wenn es darum geht, den Wert zurückzugeben oder ihn in Argumenten zu übergeben.