[Powered by Google Translate] Funktionen sind Abschnitte von Code innerhalb eines größeren Programms verwendet um eine bestimmte Aufgabe auszuführen. Sie werden auch als Verfahren, Unterprogramme und Unterprogramme bekannt, da sie wirklich nur Mini-Programme innerhalb der Programme. Auch wenn Sie vielleicht nicht bemerkt haben, Sie auf jeden Fall Funktionen bereits, wenn Sie in C programmiert haben Wenn Sie Zeug schreiben auf dem Bildschirm mit printf, Sie tatsächlich mit einer Funktion namens printf. Ebenso sind GetInt und GetString Funktionen, CS50 bietet für Sie. Als Programmierer benutzen wir Funktionen für eine Anzahl von Gründen. Mit Funktionen, um häufige Aufgaben wie das Schreiben auf dem Bildschirm durchführen und Auffordern des Benutzers zur Eingabe spart uns Zeit bei der Programmierung. Es ist nicht nötig, Code zu schreiben, um die gleichen Dinge tun da sie bereits für uns getan hat. Es ist nicht einmal notwendig für uns zu verstehen, wie genau diese Funktionen intern arbeiten. Stattdessen müssen wir nur wissen, wie zu benutzen oder rufen sie in unseren Programmen. Es ist auch hilfreich, um Funktionen in größere Programme schreiben auch wenn Sie nicht planen, mit anderen nutzen sie, nur die Teilung der größeren Aufgabe. Auf diese Weise erhalten Sie Struktur in Ihre Code viel wie Sie Struktur eines Essays geben würde, und mit wirklich großen Projekte aktivieren Sie mehrere Personen an verschiedenen Teilen in der gleichen Zeit arbeiten da ist es klar, wenn eine Person die Arbeit endet und ein anderer ist beginnt. Funktionen in der Regel auf ein oder mehrere Eingänge, die als Argumente oder Parameter bekannt zu betreiben, Transformieren dieser Eingänge in einen Ausgabewert, der dann zurückgegeben wird. Allerdings ist es auch möglich, Funktionen, die nicht mit irgendwelche Eingabeargumente haben und nicht wieder einen Ausgang. Okay, genug mit dem flauschigen Material. Werfen wir einen Blick auf einige reelle Funktionen in C. Hier haben wir eine Funktion namens square, dass Sie es glauben oder nicht, berechnet das Quadrat der Eingabe. Lassen Sie sezieren die Syntax von ihm. Das erste Wort, das Sie sehen, in der Funktion, int, gibt den Rückgabetyp der Funktion, das heißt, der C-Typ der Funktion den Ausgang. Diese Funktion ausgeben einen Wert mit Typ int. Das nächste Wort, das Sie sehen, ist der Name der Funktion, quadratisch in diesem Fall. Funktionen benennen angemessen ist besonders wichtig da es wahrscheinlich die meisten sichtbaren Dokumentation dessen, was die Funktion macht. Es wäre cool, um diese Funktion shazam oder booyah nennen, aber das würde nicht sagen uns nichts über das, was die Funktion macht. Nach der Name der Funktion kommen die Eingänge für die Funktion, die Argumente. Sie werden in einer Reihe von Klammern aufgeführt sowohl mit ihrer Art und eines Namens für sie in dem Körper der Funktion zu verwenden. Platz dauert nur 1 Argument, das int quadratische, die ich habe beschlossen, den Namen x geben. Damit endet die Funktion Erklärung oder Prototyp. Die geschweiften Klammern umgebenden Rest der Funktion bezeichnen den Anfang und das Ende der Funktion Körper, Die Definition der Funktion selbst. Square ist eine ziemlich einfache Funktion. Es ist nur noch 1 Zeile, da alles, was wir tun müssen, ist zu multiplizieren x von selbst aus. Das Wort Rückkehr gibt den Ausgabewert und löst den Ende der Funktion. Um den Platz Funktion zu nutzen, müssen wir die entsprechenden Eingänge liefern und dann fangen die Ausgabe. Hier sehen Sie ein paar Möglichkeiten, das zu tun. Wir können in einem rohen int übergeben, wie 6, oder wir können in einer Variablen wie ein weiterzugeben. Beachten Sie, dass jedes Mal, wenn wir Platz nennen, erfassen wir die Ausgabe in eine Variable und dann ausdrucken. Allerdings haben wir nicht den Rückgabewert in einer Variablen speichern und dann ausdrucken. Wir könnten einfach senden sie direkt an printf wie wir es tun, wenn wir Platz 10, aber dies bedeutet, dass wir keinen Zugriff auf den Rückgabewert von quadratischen 10 anderswo in dem Code. Lassen Sie uns an einem anderen einfachen Beispiel. Dieses Mal werden wir 2 Schwimmern zusammen, so dass wir sehen können, was eine Funktion aussieht Fazit Wenn es hat 2 Eingänge statt nur 1. Wie Sie sehen können, ist es nicht viel anders. Alles, was wir tun müssen, ist hinzuzufügen im zweiten Argument, eine float namens b, die Liste der Argumente mit einem Komma, um es von dem ersten Argument zu trennen, schwimmt ein. So sind unsere Quadrat und Summenfunktionen recht einfach zu verstehen weil sie gleichbedeutend mit Funktionen, die Sie haben, bevor in Mathematik Klasse sehen sind. Lassen Sie uns nun auf eine Funktion, die etwas anders ist zu suchen. Anstatt einen Wert zurückzugeben, ändert es einen Staat. Dies wird als eine Nebenwirkung bekannt. In diesem Programm, das printf_fudd_style Funktion hat einen Rückgabetyp, dass wir nicht gesehen haben, nichtig. Void ist zu sagen, dass eine Funktion nichts zurück. Es gibt keine Variablen vom Typ void, so, wenn Sie versuchen, etwas von einer Funktion wie printf_fudd_style zurückkehren, Der Compiler wird dich schreien. Innerhalb printf_fudd_style sehen wir, dass, während die Funktion noch eine Aufgabe, nämlich dem Einschalten alle Rs Ws, der Punkt der Funktion ist die Zeichenfolge zu ändern und dann drucken Sie es aus auf dem Bildschirm, Ändern des Status des Programms anstelle der Rückgabe eines Ergebnisses. Mit dieser Funktion ist sehr ähnlich wie mit unseren Platz und die Summe Funktionen außer daß wir nicht speichern das Ergebnis in einer Variablen oder übergeben Sie sie an eine andere Funktion da kein Ergebnis zu sprechen. Also, wenn wir kompilieren und ausführen unserem Elmer Fudd Programm Sie sehen, dass "Du rascally Kaninchen!" wird Recht transformiert "Du wascally Wabbit!" Schließlich gibt es noch ein weitere Funktion der Rede wert da Sie habe mit ihm in jedem C Programm, das Sie je geschrieben habe, main. Main ist eine Funktion wie jeder andere. Es hat einen Rückgabetyp, einen Namen, eine Liste von Argumenten, und einen Körper. Der Rückgabetyp der wichtigsten ist immer ein int, und dies int verwendet, um den Status des Programms zu kommunizieren, wenn sie beendet. Hat es erfolgreich ausgeführt werden, oder hat es vorzeitig zu beenden, weil ein Fehler? Rückkehr zu Null zeigt eine erfolgreiche Ausführung, und wieder eine Nicht-Null-Wert zeigt einen Fehler an. Abhängig von der Art des Programms du schreibst, wieder verschiedene Codes für verschiedene Fehler kann hilfreich sein für Menschen, die Ihrem Programm verwenden später. Mains Argumente sind ein wenig komplizierter. Die Argument-Liste kann entweder leer sein, denen wir zeigen, indem Lücke zwischen den Klammern oder die Liste können 2 Argumente: ein int und ein Array von char * s. Diese werden verwendet, wenn das Programm zu verwenden beabsichtigt übergebenen Argumente in der Befehlszeile, wenn das Programm aufgerufen wird. Das Argument int wird üblicherweise als argc, und es ist gleich der Länge des char * Array, wie argv bekannt. Argv enthält die Kommandozeilen-Argumente in das Programm übergeben. In einer weiteren kurzen, werden wir darüber, wie diese Variablen im Detail verwenden sprechen. Denn jetzt können Sie sich gerne an Haupt in beide Richtungen zu erklären. I in der Regel wählen, um es schreiben, den kürzeren Weg, ohne Argumente, wenn möglich. Jetzt wissen Sie, wie Sie Funktionen zu schreiben, Sie sind auf dem besten Weg zur Entwicklung größere und komplexere Programme. Mein Name ist Nate Hardison. Dies ist CS50.