Hauptunterschied – Funktionsprototyp vs. Funktionsdefinition in C
Eine Funktion ist eine Gruppe von Anweisungen, die verwendet werden, um eine bestimmte Aufgabe auszuführen. Bei der C-Programmierung beginnt die Ausführung bei main(). Es ist eine Funktion. Anstatt alle Anweisungen in dasselbe Programm zu schreiben, kann es in mehrere Funktionen aufgeteilt werden. Jede Funktion führt unterschiedliche Funktionalitäten aus. Der Funktionsprototyp teilt dem Compiler den Funktionsnamen, Rückgabetypen und Parameter mit. Sie wird auch als Funktionsdeklaration bezeichnet. Jede Funktion hat einen bestimmten Namen, um sie zu identifizieren. Die Funktionsanweisungen werden in geschweiften Klammern geschrieben. Die Funktionen können einen Wert zurückgeben. Es gibt einige Funktionen, die keinen Wert zurückgeben. Über die Parameterliste werden die Daten an die Funktion übergeben. Die Funktionsdefinition hat die tatsächliche Funktionalität, die von der Funktion ausgeführt wird. In der C-Programmierung gibt es einen Funktionsprototyp und eine Funktionsdefinition. Der Hauptunterschied zwischen dem Funktionsprototyp und der Funktionsdefinition besteht darin, dass der Funktionsprototyp nur die Deklaration der Funktion enthält, während die Funktionsdefinition die eigentliche Implementierung der Funktion enthält. Die Funktionsdefinition enthält die lokalen Variablen und die Anweisungen, die bestimmen, was die Funktion tut.
Was ist ein Funktionsprototyp in C?
Funktionsprototyp liefert die Funktionsdeklaration. Es spezifiziert den Namen der Funktion, die Rückgabetypen, die Parameter. Die Rückgabetypen sind der Datentyp, der von der Funktion zurückgegeben wird. Wenn eine Funktion eine Ganzzahl zurückgibt, ist der Rückgabetyp int. Wenn eine Funktion einen Gleitkommawert zurückgibt, ist der Rückgabetyp ein Gleitkommawert. Wenn die Funktion keinen Wert zurückgibt, handelt es sich um eine ungültige Funktion. Der Funktionsname dient zur Identifizierung. C-Schlüsselwörter können nicht als Funktionsnamen verwendet werden. Die Daten werden über Parameter an die Funktion übergeben. Der Funktionsprototyp enthält nicht die reale Implementierung der Funktion. Der Funktionsprototyp hat die folgende Syntax.
(Parameterliste);
Wenn es eine Funktion gibt, um das Maximum von zwei Zahlen zu berechnen, kann die Deklaration als int max (int num1, int num2) geschrieben werden; Der maximale Wert sollte in num1 und num2 gefunden werden. Das sind Ganzzahlen, und sie werden an die Funktion übergeben. Der Rückgabetyp ist am Anfang ebenfalls int. Die Funktion gibt also einen ganzzahligen Wert zurück. Es ist nicht erforderlich, die Parameternamen in den Funktionsprototypen zu schreiben. Aber es ist notwendig, die Datentypen zu schreiben. Daher int max (int, int); ist auch ein gültiger Funktionsprototyp. Wenn es zwei ganze Zahlen wie num1, num2, num3 gibt und der Prototyp als int max(int num1, int num2, num3) geschrieben wird; es ist ungültig. Die num1, num2 haben die Datentypen, aber num3 hat keinen Datentyp. Daher ist es ungültig.
Beziehen Sie sich auf das untenstehende Programm.
einschließen
int CarMax(int x, int y);
int main(){
int p=10;
int q=20;
int Antwort;
antwort=calMax(p, q);
printf("Der Maximalwert ist %d\n", Antwort);
return 0;
}
int calMax(int p, int q){
int Wert;
if(p>q) {
Wert=p;
}
sonst {
Wert=q;
}
Rückgabewert;
}
Gemäß obigem zeigt die zweite Anweisung den Funktionsprototypen. Es hat nicht die Implementierung. Die eigentliche Umsetzung erfolgt nach dem Hauptprogramm. Die Funktionsprototypen sind nützlicher, wenn Sie eine Funktion in einer Quelldatei definieren und diese Funktion in einer anderen in einer anderen Datei aufrufen.
Was ist Funktionsdefinition in C?
Die Funktionsdefinition enthält die eigentliche Implementierung der Funktion. Es enthält, was die Funktion tun soll. Wenn das Programm die Funktion aufruft, wird die Steuerung an die aufgerufene Funktion übergeben. Nach der Ausführung der Funktion kehrt die Steuerung zur Hauptfunktion zurück. Die erforderlichen Daten werden der Funktion als Parameterliste übergeben. Wenn ein Wert zurückgegeben wird, wird der Rückgabetyp erwähnt. Wenn keine Rückgabewerte vorhanden sind, ist der Rückgabetyp void. Verwenden Sie die folgende Funktion, um die Fläche eines Dreiecks zu berechnen.
einschließen
float calArea(int x, int y);
int main () {
int p=10;
int q=20;
Floatbereich;
area=calArea(p, q);
printf („Der Maximalwert ist %f\n“, Bereich);
return 0;
}
float calArea (int x, int y) {
Float-Wert;
Wert=0,5xy;
Rückgabewert;
}
Gemäß obigem Programm gibt die zweite Anweisung den Funktionsprototyp an. Die eigentliche Implementierung dessen, was die Funktion ausführt, wird nach dem Hauptprogramm geschrieben. Es ist die Funktionsdefinition. Die p- und q-Werte werden an die calArea-Funktion übergeben. Der Variablenwert ist eine lokale Variable für die calArea-Funktion. Die Fläche wird berechnet und dem Variablenwert zugewiesen. Dann wird zum Hauptprogramm zurückgekehrt.
Was sind die Ähnlichkeiten zwischen Funktionsprototyp und Funktionsdefinition in C?
- Sowohl der Funktionsprototyp als auch die Funktionsdefinition beziehen sich auf Funktionen.
- Sowohl Funktionsprototyp als auch Funktionsdefinition enth alten Funktionsnamen.
- Sowohl der Funktionsprototyp als auch die Funktionsdefinition enth alten Rückgabetypen.
- Sowohl der Funktionsprototyp als auch die Funktionsdefinition enth alten Parameter.
Was ist der Unterschied zwischen Funktionsprototyp und Funktionsdefinition in C?
Funktionsprototyp vs. Funktionsdefinition in C |
|
Der Funktionsprototyp gibt den Funktionsnamen, den Rückgabetyp und die Parameter an, lässt aber den Funktionskörper weg. | Die Funktionsdefinition gibt den Funktionsnamen und den Rückgabetyp an; Parameter beinh alten einen Funktionsrumpf. |
Implementierung | |
Der Funktionsprototyp hat nicht die Funktionsimplementierung. | Die Funktionsdefinition hat die Funktionsimplementierung. |
Zusammenfassung – Funktionsprototyp vs. Funktionsdefinition in C
Die Verwendung von Funktionen in Programmen hat Vorteile. Funktionen erhöhen die Wiederverwendbarkeit von Code. Es ist nicht notwendig, denselben Code immer wieder zu schreiben. Stattdessen kann der Programmierer das Programm aufteilen und die notwendige Funktion aufrufen. In C gibt es Bibliotheksfunktionen. Diese Funktionen sind in den C-Header-Dateien deklariert. Einige davon sind printf(), scanf() usw. Der Programmierer kann auch eigene Funktionen schreiben. Es gibt zwei Begriffe, die mit Funktionen in C verbunden sind. Sie sind Funktionsprototyp und Funktionsdefinition. Der Unterschied zwischen dem Funktionsprototyp und der Funktionsdefinition in C besteht darin, dass der Funktionsprototyp nur die Deklaration der Funktion enthält, während die Funktionsdefinition die eigentliche Implementierung der Funktion enthält.
Laden Sie das PDF von Funktionsprototyp vs. Funktionsdefinition in C herunter
Sie können die PDF-Version dieses Artikels herunterladen und gemäß Zitationshinweis für Offline-Zwecke verwenden. Bitte laden Sie die PDF-Version hier herunter: Unterschied zwischen Funktionsprototyp und Funktionsdefinition in C