Eine Einführung in C-Funktionen
HeimHeim > Blog > Eine Einführung in C-Funktionen

Eine Einführung in C-Funktionen

Aug 27, 2023

Jedes C-Programm ist eine Sammlung von Funktionen. Erfahren Sie alles über diese nützlichen wiederverwendbaren Codeblöcke, von deren Definition bis hin zur Bedeutung von „void“.

Möglicherweise haben Sie die grundlegende C-Syntax anhand einfacher Beispiele behandelt und fragen sich nun, wie Sie größere, realitätsnahe Programme erstellen können. Zunächst möchten Sie Ihren Code mit einem Minimum an Wiederholungen in effiziente Teile gliedern. In C ist, wie in den meisten Sprachen, die Antwort auf Ihre Probleme die Funktion.

Das Erstellen und Verwenden von Funktionen in C ist unkompliziert und bringt viele Vorteile mit sich. Mithilfe von Funktionen können Sie komplexe Programme in kleinere Teile zerlegen. Sie ermöglichen die Wiederverwendbarkeit sowohl innerhalb Ihres ursprünglichen Programms als auch in verwandten Bibliotheken oder anderen separaten Programmen.

Zunächst müssen Sie sich mit Funktionsdeklarationen, Prototypen, Parametern und Rückgabeanweisungen vertraut machen.

In der C-Programmierung ist eine Funktion ein benannter Codeabschnitt, der etwas ausführt, wenn Sie ihn dazu auffordern. Dadurch bleibt Ihr Code organisiert und Sie können dieselbe Aktion mehrmals verwenden, ohne sie zu wiederholen.

Das einfachste Beispiel ist eines, das Sie bereits verwendet haben: die Funktion main(). Das Besondere an der Funktion main ist, dass sie als Haupteinstiegspunkt für jedes C-Programm fungiert. Sie können auch Bibliotheksfunktionen verwenden, die bereits von jemand anderem geschrieben wurden, oder Sie können Ihre eigenen benutzerdefinierten Funktionen schreiben.

Diese drei Aspekte sind grundlegend für die Verwendung von Funktionen.

Dies stellt Informationen über den Namen, den Rückgabetyp und die Parameter einer Funktion bereit und ermöglicht so deren Verwendung vor ihrer vollständigen Definition. Es wird auch als Funktionsprototyp bezeichnet. Es folgt dieser einfachen Syntax:

Wo:

Hier ist zum Beispiel eine einfache Funktionsdeklaration:

Wenn Sie eine Funktion aufrufen, führt sie den in ihrer Definition angegebenen Code aus. Es enthält den Namen der Funktion, den Rückgabetyp, die Parameterliste und die Anweisungen, die ihr Verhalten definieren. Hier ist die Syntax:

Lassen Sie uns Teile der Syntax aufschlüsseln:

Funktionskörper: Dies ist der in geschweifte Klammern eingeschlossene Codeblock{} . Es enthält die Anweisungen, die definieren, was die Funktion tut, wenn sie aufgerufen wird.

Return-Anweisung: Wenn die Funktion einen anderen Rückgabetyp als hatLeere, Diezurückkehren Die Anweisung sendet einen Wert an den Aufrufer zurück. Dieser Wert sollte mit dem angegebenen Rückgabetyp übereinstimmen.

Hier ist ein einfaches Beispiel einer Funktionsdefinition:

Genau wie beim Kochen haben Sie möglicherweise ein Rezept (Funktionsdefinition) und einige Zutaten (Argumente), müssen aber dennoch den Anweisungen folgen, um ein Ergebnis zu erhalten. Ein Funktionsaufruf führt die Funktion mit den angegebenen Argumenten aus; Hier ist die Syntax:

Argumente : Dies sind die Werte oder Ausdrücke, die Sie als Eingaben an die Funktion übergeben. Trennen Sie jedes Argument durch ein Komma. Anzahl, Reihenfolge und Datentypen der Argumente sollten mit der Parameterliste der Funktion übereinstimmen.

Ergebnis: Wenn die Funktion einen anderen Rückgabetyp als hatLeerekönnen Sie den zurückgegebenen Wert mithilfe einer Variablen des entsprechenden Datentyps erfassen.

Hier ist ein Beispiel für einen Funktionsaufruf:

Indem Sie diese drei Schritte befolgen – die Funktion deklarieren, ihre Implementierung bereitstellen und sie mit geeigneten Argumenten aufrufen – können Sie Funktionen effektiv verwenden, um verschiedene Aufgaben in Ihrem Programm auszuführen.

Parameter sind in der Deklaration oder Definition der Funktion deklarierte Variablen, die als Platzhalter für die Werte fungieren, die beim Aufruf an die Funktion übergeben werden. Sie ermöglichen es Ihnen, Daten an die Funktion zu übergeben, sodass diese mit diesen Daten arbeiten und sie bearbeiten kann. Rückgabewerte sind die Werte, die eine Funktion erzeugt und an den Aufrufer zurücksendet.

Es gibt zwei Methoden zur Übergabe von Parametern.

Bei diesem Ansatz kopiert ein Funktionsaufruf den Wert des tatsächlichen Arguments in den Parameter der Funktion. Änderungen am Parameter innerhalb der Funktion haben keinen Einfluss auf das ursprüngliche Argument.

Zum Beispiel:

Bei diesem Ansatz übergeben Sie die Speicheradresse (Zeiger) eines Werts an eine Funktion. Änderungen am Parameter innerhalb der Funktion wirken sich auf den ursprünglichen Wert außerhalb der Funktion aus.

Zeiger, einschließlich ihrer Verwendung als Parameter, sind einer der Aspekte von C, die es von einer Sprache wie Python unterscheiden.

Zusammenfassend besteht der Hauptunterschied zwischen den beiden Methoden darin, wie sich Änderungen am Parameter innerhalb der Funktion auf den ursprünglichen Wert außerhalb der Funktion auswirken. Die Wertübergabe erstellt eine Kopie, während die Referenzübergabe (Zeiger) die direkte Manipulation des Originalwerts ermöglicht.

Andere Sprachen haben oft ein Äquivalent zu den C-Zeigern, arbeiten aber im Allgemeinen auf einer höheren Ebene. Ein Beispiel ist die Unterstützung von Out-Variablen durch C#.

Void-Funktionen in der C-Programmierung sind Funktionen, die keinen Wert zurückgeben. Verwenden Sie sie, um Aktionen oder Aufgaben auszuführen, ohne ein Ergebnis zu erzielen. Sie können ihre Parameter mithilfe der Referenzübergabe ändern, müssen dies aber nicht.

Hier ist ein Beispiel für eine void-Funktion:

Void-Funktionen sind nützlich, um Aktionen auszuführen, Nachrichten zu drucken, Daten zu ändern oder Aufgaben auszuführen, ohne dass ein Rückgabewert erforderlich ist.

Durch das Üben der Erstellung von Funktionen verbessern Sie Ihr Verständnis und die Anwendung der C-Programmierung. Darüber hinaus verbessert es die Lesbarkeit des Codes und erleichtert die Wartung. Tauchen Sie ein in verschiedene Anwendungsbereiche von Funktionen, um deren Vorteile auszuschöpfen.

Wenn Sie die Grundlagen von C-Funktionen beherrschen und sich selbst herausfordern möchten, sollten Sie sich mit der Rekursion befassen.

Melanie Ngome ist eine leidenschaftliche Autorin und aufstrebende Frontend-Webentwicklerin. Derzeit absolviert sie einen Kurs in Webentwicklung und kombiniert ihre Liebe zum Schreiben und Programmieren, um komplexe Konzepte aufzuschlüsseln und ihren Weg zur Frontend-Webentwicklerin zu teilen.

return_typeLeereFunktionsnameParameterFunktionskörper{}Return-AnweisungLeerezurückkehrenArgumenteErgebnisLeereNumXjQuadratint *NumNum*hauptsächlichX5QuadratX&XX25*numQuadratX