Funktionsprototypen
Teil des Abschnitts Fundamentals der C-Journey von Coddy — Lektion 51 von 63.
In C können wir eine Funktion deklarieren, bevor wir sie verwenden. Ein Funktionsprototyp informiert den Compiler über den Namen, die Parameter und den Rückgabetyp einer Funktion, bevor die eigentliche Funktion definiert wird.
Erstellen Sie einen Funktionsprototyp für eine Funktion, die zwei Ganzzahlen addiert:
int add(int a, int b);Definiere dann die Funktion:
int add(int a, int b) {
return a + b;
}Der Prototyp steht normalerweise über der main-Funktion, während die Funktion selbst unter der main-Funktion steht, damit der Code sauberer aussieht.
Jetzt können Sie diese Funktion in der main-Funktion verwenden:
int main() {
int result = add(5, 3);
printf("%d", result);
return 0;
}Ohne den Prototyp erhalten Sie einen Compiler-Fehler, wenn Sie die Funktion vor ihrer Definition aufrufen.
Aufgabe
EinfachErstellen Sie ein Programm, das:
- Einen Funktionsprototyp für eine Funktion namens
calculateAreadeklariert, die zwei Ganzzahlen (length und width) entgegennimmt und eine Ganzzahl zurückgibt. - Die Funktion implementiert, um die Fläche zu berechnen und zurückzugeben (length × width).
- In der main-Funktion zwei Ganzzahlen vom Benutzer einliest,
calculateAreaaufruft und das Ergebnis ausgibt.
Spickzettel
Ein Funktionsprototyp deklariert eine Funktion, bevor sie definiert wird, und informiert den Compiler über den Namen, die Parameter und den Rückgabetyp der Funktion:
int add(int a, int b);Definieren Sie dann die Funktion:
int add(int a, int b) {
return a + b;
}Der Prototyp wird normalerweise oberhalb von main platziert, während die Funktionsdefinition unterhalb von main steht:
int add(int a, int b); // Prototyp
int main() {
int result = add(5, 3);
printf("%d", result);
return 0;
}
int add(int a, int b) { // Definition
return a + b;
}Ohne den Prototyp führt der Aufruf einer Funktion vor ihrer Definition zu einem Compiler-Fehler.
Probier es selbst
#include <stdio.h>
// Schreiben Sie hier Ihren Funktionsprototypen
int main() {
// Variablen deklarieren und einlesen
// Rufen Sie hier Ihre Funktion auf und geben Sie das Ergebnis aus
return 0;
}
// Implementieren Sie hier Ihre FunktionDiese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Fundamentals
4Kontrollfluss
If-AnweisungIf - ElseElse-IfSwitch CaseTernärer BedingungsoperatorRecap-ChallengeVerschachteltes If - Else7Funktionen
Eine Funktion deklarierenRückgabetypenParameterWiederholungs-Challenge #1Rekursions-GrundlagenFunktionsprototypenWiederholungs-Challenge #22Variablen
DatentypenIntegerFloat - DoubleZeichenBooleansKonstantenprintf GrundlagenBenennungsregeln für VariablenType Casting Teil 1Type Casting Teil 2Wiederholungs-Challenge3Operatoren
Arithmetische OperatorenModulo-OperatorInkrement/DekrementZuweisungsoperatorenRelationale OperatorenLogische Operatoren Teil 1Logische Operatoren Teil 2Logische Operatoren Teil 3Wiederholungs-Challenge