Hallo und herzlich willkommen.
In diesem Vortrag möchte ich sprechen über Argumente und Parameter.
Diese Begriffe sind in der Regel austauschbar verwendet.
Was sie zu tun haben mit ist im Grunde Daten, die Sie
an eine Funktion übergeben.
Ein Parameter ist also eine Variable und eine
Funktionsdeklaration und eine Funktionsdefinitionsimplementierung.
Denken Sie daran, dieser Unterschied zwischen
Funktionsdeklaration, Funktionsprototyp und Funktionsdefinition.
Funktionsdeklaration ist Nur die Methodensignatur, es
ist der Funktionsheader.
Funktionsdefinition ist die Implementierung
der Funktion, der eigentliche Code.
In beiden Begriffen Deklarationsdefinition, verstehen Sie
diese Unterschiede.
Aber der Parameter ist, was drin ist Die Funktionsdeklaration und -definition befindet
sich in diesem Header.
Weil sowohl der Header enthalten ist in der Definition in der Erklärung.
Wenn eine Funktion aufgerufen wird, wird die Argumente sind die Daten, die Sie an
die Funktionsparameter übergeben.
Das ist der tatsächliche Wert einer Variablen, die an
die Funktion übergeben wird.
Also Funktionsparameter definiert innerhalb des Funktionsheaders und deren
Platzhalter für die Argumente, die beim Aufrufen der Funktion
angegeben werden müssen.
Verstehe also den Unterschied hier zwischen Argumenten und Parametern.
Parameter haben mit dem zu tun Funktionsdefinition und Deklaration.
Argumente sind wo du bist Rufen Sie die
Funktion auf, wenn Sie die Funktion aufrufen Daten, die Sie übergeben.
Daher werden beim Aufrufen Argumente verwendet.
Sie werden sagen, das sind die Argumente das geht zu meiner Funktion.
Und wenn die Funktion empfängt Diese Daten werden
als Parameter bezeichnet.
Die Parameter für eine Funktion sind eine Liste von Parameternamen mit
ihren Datentypen.
Jeder Parameter ist durch ein Komma getrennt.
Die gesamte Liste der Parameter ist in Klammern nach dem Namen
der Funktion.
Eine Funktion kann keine haben Parameter, was bedeutet, dass
keine Daten an ihn übergeben werden.
Und in diesem Fall haben Sie nur die linke und rechte Klammer mit einer
Leere dazwischen oder leer, Sie kann es immer noch als leer nichts dazwischen haben, aber es
ist eine gute Praxis eine Leere zwischen sie setzen.
Void ist ein spezielles Schlüsselwort das bedeutet nichts, bedeutet keine Parameter
oder keine Rückgabedaten.
Parameter liefern die Mittel Daten an eine Funktion übergeben.
Von der aufrufenden Funktion übergebene Daten zu der aufgerufenen Funktion, dem Aufruf
e zum empfangenden Ende, dem rufendes Ende und empfangendes Ende.
Die Namen der Parameter sind lokal für die Funktion.
Wir werden darüber reden wenn wir über lokale Daten sprechen.
Aber nur diese Parameternamen existieren innerhalb des Funktionskörpers.
Sie werden die Werte von annehmen Argumente, die an ihn übergeben werden.
Also, wenn Sie eine Funktion aufgerufen haben Fügen Sie hinzu, Sie
übergeben eine Variable als Argument, Sie übergeben den Wert 5 und Sie haben
eine Funktion mit einem Parameter x, x wird gleich sein bis 5 irgendwo im Funktionskörper.
Der Körper der Funktion sollte diese Parameter
in seiner Implementierung verwenden.
Wenn nicht, dann sie hätte nicht bestanden werden sollen.
Wenn Sie eine Parametervariable haben definiert in Ihrer
Funktionsdeklarationsdefinition und Sie verwenden das nie Variable innerhalb der Funktion, das ist verschwenderisch, schließen Sie es
nicht ein, weil das heißt nur, dass du es nicht brauchst.
Senden Sie keine Daten an a Funktion, die es nicht benutzt.
Ein Funktionskörper kann zusätzliche haben lokal definierte Variablen, die von
der Funktionsimplementierung benötigt werden.
Möglicherweise haben Sie innerhalb der Funktion Körper andere Variablen deklariert, weil
sie für benötigt werden Welche Aufgabe Sie auch erledigen.
Sie arbeiten nicht nur auf Daten, die an ihn übergeben werden.
Sie können lokal arbeiten Daten innerhalb der Funktion.
Beim Übergeben eines Arrays als Argument an eine Funktion, müssen
Sie auch ein zusätzliches Argument übergeben, Lassen Sie einen anderen Parameter definieren, der
die Größe des Arrays angibt.
Der Grund dafür ist, dass die Die Funktion kann nicht wissen, wie viele
Elemente sich im Array befinden.
Also auch wenn du eine deklariert hast Bei einem Array der Größe 50
speichern Sie möglicherweise nur 30 Elemente.
Und wenn Sie das nutzen wollen Array innerhalb des Funktionskörpers, müssen
Sie wahrscheinlich wissen, wie groß es ist, weil Sie entweder iterieren müssen
Verwenden Sie dazu eine Schleife, oder Sie
müssen auf Elemente zugreifen.
Und wenn Ihre Zugangselemente Wenn Sie es durchlaufen, müssen
Sie wissen, ob oder nicht wenn du außerhalb der Grenzen bist.
Und wir haben über das Aus gesprochen Grenzen dort und warum das wichtig ist.
Hier ist ein Beispiel.
Wenn die printf-Funktion ist aufgerufen geben Sie immer einen oder
mehrere Werte als Argumente an.
Der erste Wert ist das Zeichenfolge in doppelten Anführungszeichen.
Die restlichen Werte sind beliebig anzuzeigende Variablen.
Dies ist eigentlich eine Funktion, die nimmt eine variable Anzahl von Argumenten,
über die wir wahrscheinlich nicht sprechen werden Da dies eine Anfängerklasse ist, ist
dies eher ein fortgeschrittenes Konzept.
Aber die printf-Funktion ist a gutes Beispiel
für die Übergabe von Daten, weil Sie übergeben mehrere Datensätze
dazu, entweder die Zeichenfolge in den Anführungszeichen oder Variablen, die Sie anzeigen möchten.
Deshalb ist es so wichtig Daten an eine Funktion übergeben können.
Es erhöht die Nützlichkeit erheblich und die Flexibilität einer Funktion.
Wenn Funktionen nicht die hatten Fähigkeit, Daten zu akzeptieren, wären sie
nicht so nützlich.
In dem Beispiel, das ich bereitgestellt habe In der letzten
Vorlesung hatten wir eine Funktion, die angezeigt wurde Ausgabe, es hat nicht wirklich viel getan.
Es war sehr statisch.
Es hat das Gleiche getan jedes Mal, wenn Sie es aufgerufen haben.
Aber was wäre, wenn Sie eine Funktion hätten? Wenn Daten erfasst wurden, können
Sie steuern, was angezeigt wird.
Also genau wie die printf-Funktion.
Wenn die printf-Funktion dies nicht tat Wenn Sie Parameter haben, können Sie nicht
sagen, was angezeigt werden soll.
Wenn Sie keine Daten akzeptiert haben, Sie Ich würde nicht sagen können, hey,
diese Variable anzeigen oder diese Zeichenfolge anzeigen.
Es wäre nicht sehr nützlich.
Sie möchten also bestehen können Daten zu einer Funktion machen
es viel nützlicher und flexibler.
Und das wirst du sehen.
Ich meine, wenn wir multiplizieren Funktion, würden Sie nicht das gleiche
multiplizieren wollen jedes Mal zwei Zahlen.
Sie würden Parameter und Daten nehmen würde ihm für zwei Nummern übergeben werden.
Sie können also verschiedene Berechnungen durchführen basierend auf den Daten, die an ihn übergeben werden.
Sehr, sehr wichtig zu verstehen Datenübergabe und warum es nützlich ist.
Es ist auch eine gute Idee, etwas hinzuzufügen Kommentare vor
jeder Ihrer eigenen Funktionsdefinitionen.
Es hilft zu erklären, was die Funktion wird tun und wie
die Argumente verwendet werden sollen.
Sie werden dies normalerweise sehen.
Sie werden dies in meinen Beispielen sehen.
Sie haben die Funktionsdeklaration Am Anfang der Datei befindet
sich die Funktionsdefinition.
Funktionsdefinition beinhaltet der Funktionsheader.
Direkt über der Funktion Header, Sie haben Kommentare,
in der Regel mehrzeilige Kommentare.
Sie haben also den Schrägstrich, Sternchen.
Und da sagst du den Namen des Funktion, den Zweck der Funktion und beschreiben
dann auch alle Daten das wird an die Funktion übergeben.
Dies ist wiederum für die Wartung und in der Lage sein, Fehler viel schneller
zu finden und zu beheben.
Normalerweise möchten Sie eine haben Guter Name für die Funktion,
die Ihnen etwas sagt.
Aber mit zusätzlichen Kommentaren, es wird dir noch mehr erzählen.
Hier ist ein Beispiel, das eine Funktion ist das multipliziert zwei Zahlen, das bekommt, dass Daten
an es übergeben werden.
Wir haben zwei Zahlen multipliziert.
Wir wissen, dass es eine Funktion ist, weil es hat die Parameter im Wesentlichen.
Es hat die Klammern.
Das ist eine Möglichkeit, die Sie identifizieren können funktioniert, wenn Sie Klammern sehen.
Ich meine, wir könnten uns auch identifizieren weil es einen Rückgabetyp hat.
Es gibt mehrere Dinge, die Sagen Sie uns, es ist eine Funktion.
Hauptsache aber die Klammern und dann sehen Sie auch die Klammern, die
geschweiften Klammern, die das bedeuten Anfang und Ende des Blocks.
Dies multipliziert zwei Zahlen funktionieren jedoch.
Denken Sie daran, dass die Funktionsparameter werden zwischen den Klammern definiert und dann
durch Kommas getrennt.
Hier haben wir zwei Parameter.
Wir haben einen Parameter namens x und ein Parameter namens y.
Für jeden Parameter Sie müssen den
eingehenden Datentyp identifizieren.
Hier haben wir also zwei Ints.
Dies ist der Standardweg zu Daten übergeben und wie es geht.
Zwischen den Klammern Daten Geben Sie dann einen Namen für die Variable ein.
Der Name für die Variable weil Alles, was in c für den Namen
einer Variablen gültig ist, können Sie nenne das x y z wie du willst.
Sie können es einfach nicht starten mit einem Dollarzeichensymbol.
Und dann trennst du diese durch Kommas, gewöhnen Sie sich an
diese Konvention, Parameter in Klammern.
Wenn Sie keine Parameter hatten, keine Daten Das wird an
die Funktion übergeben, was Sie dazwischen sehen würden Klammern sind nichtig oder Sie würden
nichts zwischen den Klammern sehen.
Diese Funktion ist alles, was es tun wird wird es die Daten
nehmen, die an es übergeben werden, die zwei Variablen sind Jetzt heißt es x und y, und es wird sie miteinander multiplizieren
und speichern in einer Variablen namens result oder in diesem Fall sieht es so aus,
als hätte ich sie falsch geschrieben t.
Und was dann? ist es druckt Daten.
Es druckt die Daten aus das ist multipliziert.
Aber auch hier sehen Sie die Flexibilität und Nützlichkeit der Funktion,
weil sie Daten nimmt.
Es kann unterschiedlich angezeigt werden Daten basierend auf dem, was Sie übergeben.
Wenn wir die Funktion in der aufrufen Hauptroutine hier sagen wir, multiplizieren Sie
zwei Zahlen und wir übergeben die Argumente.
Wir übergeben die Werte 10 und 20.
Wir könnten variabel übergeben Namen auch hier.
Aber in diesem Beispiel sind wir Ich sage nur 10 und 20.
Dies wird die Funktion aufrufen Multiplizieren Sie zwei
Zahlen und es werden Daten 10 für die übergeben erster Parameter 20 für den zweiten.
Also wird x gleich 10 sein, y wird gleich 20 sein.
Also, wenn wir unsere Multiplikation x machen mal y, es wird 10 mal 20
sein, das Ergebnis wird gespeichert 200 und
dann wird das Ergebnis zusammen mit den Variablen angezeigt die an x y und z übergeben werden.
Also wird es angezeigt 10 20 und dann 200.
Beachten Sie auch, dass wir können Verwenden Sie diese Funktion jetzt erneut.
Wir nennen es wieder anders Daten, Datenwerte 20 und 30 in unserer zweiten
Zeile hier in der Hauptfunktion.
Und dann nennen wir es wieder a drittes Mal, um 50 mit 2 zu multiplizieren.
Sehr nützlich zu können Dies, um eine Funktion
zu erstellen, die verschiedene Daten nimmt, macht es wiederverwendbar, macht es flexibel.
Und die Syntax ist sehr einfach zu befolgen.
Es sind nur zwei Variablen innerhalb von Die Klammern werden durch Kommas getrennt.
Und dann ist es gerade zu nennen einfacher, Sie platzieren einfach
einen Namen und Sie haben die beiden Daten.
Welche Daten auch immer durch getrennt sind gemeinsame Seitenklammern und endet
dann mit einem Semikolon.
Sie können jede Art von übergeben Datentyp in eine Funktion.
Sie können ein Arrays übergeben.
Wir werden auch darüber reden, wie Sie können andere Datentypen übergeben.
Wir haben hier aber einfache Beispiele, aber Sie können auch Zeiger übergeben, über die wir noch
nicht gesprochen haben.
Sie können Strukturen übergeben.
Wieder ein anderes Konzept Wir haben nicht darüber gesprochen.
Aber es wird wirklich, wirklich sinnvoll und nützlich, wenn Sie hier
Daten übergeben.
Dies ist ein einfaches Beispiel.
Beachten Sie die Syntax, studieren Sie diese und wird eine gute Herausforderung für
Sie sein, wo Sie eine schreiben Anzahl verschiedener Funktionen.
Vielen Dank.