Unterschied zwischen Funktionsprototyp und Funktionsdefinition in C

Schlüsseldifferenz - Funktionsprototyp vs. Funktionsdefinition in C
 

Eine Funktion ist eine Gruppe von Anweisungen, die zum Ausführen einer bestimmten Aufgabe verwendet werden. Bei der C-Programmierung beginnt die Ausführung mit main (). Es ist eine Funktion. Anstatt alle Anweisungen in ein und demselben Programm zu schreiben, kann sie in mehrere Funktionen unterteilt werden. Jede Funktion führt verschiedene Funktionen aus. Der Prototyp der Funktion informiert den Compiler über den Namen der Funktion, die Rückgabetypen und die Parameter. Es wird auch als Funktionsdeklaration bezeichnet. Jede Funktion hat einen bestimmten Namen, um sie zu identifizieren. Die Funktionsanweisungen sind in geschweifte Klammern geschrieben. Die Funktionen können einen Wert zurückgeben. Es gibt einige Funktionen, die keinen Wert zurückgeben. Die Daten werden über die Parameterliste 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 Funktionsprototyp und Funktionsdefinition. Das Hauptunterschied zwischen dem Funktionsprototyp und der Funktionsdefinition ist das Der Funktionsprototyp enthält nur die Deklaration der Funktion, während die Funktionsdefinition die tatsächliche Implementierung der Funktion enthält. Die Funktionsdefinition enthält die lokalen Variablen und die Anweisungen, die die Funktionsweise der Funktion bestimmen.

INHALT

1. Übersicht und Schlüsseldifferenz
2. Was ist Funktionsprototyp in C?
3. Was ist Funktionsdefinition in C?
4. Ähnlichkeiten zwischen Funktionsprototyp und Funktionsdefinition in C
5. Side-by-Side-Vergleich - Funktionsprototyp vs. Funktionsdefinition in C in Tabellenform
6. Zusammenfassung

Was ist Funktionsprototyp in C??

Funktionsprototyp stellt die Funktionsdeklaration bereit. Sie gibt den Namen der Funktion, die Rückgabetypen und die Parameter an. Die Rückgabetypen sind der Datentyp, der von der Funktion zurückgegeben wird. Wenn eine Funktion eine ganze Zahl zurückgibt, ist der Rückgabetyp int. Wenn eine Funktion einen Float-Wert zurückgibt, ist der Rückgabetyp ein Float. Wenn die Funktion keinen Wert zurückgibt, handelt es sich um eine leere Funktion. Der Funktionsname wird zur Identifizierung verwendet. 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 tatsächliche 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 Maximalwert sollte in num1 und num2 angegeben werden. Das sind ganze Zahlen, und sie werden an die Funktion übergeben. Der Rückgabetyp ist zu Beginn auch int. Die Funktion gibt also einen ganzzahligen Wert zurück. Es ist nicht erforderlich, die Parameternamen in den Funktionsprototyp zu schreiben. Es ist jedoch notwendig, die Datentypen zu schreiben. Daher ist int max (int, int); ist auch ein gültiger Funktionsprototyp. Wenn zwei ganze Zahlen als num1, num2, num3 vorhanden sind 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.

Siehe das untenstehende Programm.

#umfassen

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);

0 zurückgeben;

int calMax (int p, int q)

int Wert

if (p> q)

Wert = p;

sonstiges

Wert = q;

Rückgabewert;

Demnach zeigt die zweite Aussage den Funktionsprototyp. Es gibt keine Implementierung. Die eigentliche Implementierung erfolgt nach dem Hauptprogramm. Die Funktionsprototypen sind nützlicher, wenn Sie eine Funktion in einer Quelldatei definieren und diese Funktion in einer anderen Datei in einer anderen Datei aufrufen.

Was ist Funktionsdefinition in C??

Die Funktionsdefinition hat die tatsächliche 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 als Parameterliste an die Funktion übergeben. Wenn ein Wert zurückgegeben wird, wird der Rückgabetyp angegeben. Wenn keine Rückgabewerte vorhanden sind, ist der Rückgabetyp ungültig. Beziehen Sie sich auf die unten stehende Funktion, um die Fläche eines Dreiecks zu berechnen.

#umfassen

float calArea (int x, int y);

int main ()

int p = 10;

int q = 20;

Flaot-Bereich;

Bereich = calArea (p, q);

printf ("der maximale Wert ist% f \ n", Bereich);

0 zurückgeben;

Float calArea (int x, int y)

Float-Wert;

Wert = 0,5 * x * y;

Rückgabewert;

Gemäß dem obigen Programm gibt die zweite Anweisung den Funktionsprototyp an. Die eigentliche Implementierung der Funktion 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 zugeordnet. Dann geht es zurück zum Hauptprogramm.

Was sind die Gemeinsamkeiten zwischen Funktionsprototyp und Funktionsdefinition in C??

  • Sowohl der Funktionsprototyp als auch die Funktionsdefinition beziehen sich auf Funktionen.
  • Funktionsprototyp und Funktionsdefinition enthalten Funktionsnamen.
  • Sowohl der Funktionsprototyp als auch die Funktionsdefinition enthalten Rückgabetypen.
  • Sowohl der Funktionsprototyp als auch die Funktionsdefinition enthalten Parameter.

Was ist der Unterschied zwischen Funktionsprototyp und Funktionsdefinition in C.?

Funktionsprototyp vs. Funktionsdefinition in C

Der Prototyp der Funktion gibt den Funktionsnamen, den Rückgabetyp und die Parameter an, lässt den Funktionshauptteil jedoch weg. Die Funktionsdefinition gibt den Funktionsnamen und den Rückgabetyp an. Parameter umfassen einen Funktionskörper.
Implementierung
Der Funktionsprototyp hat keine 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, den gleichen Code immer wieder zu schreiben. Stattdessen kann der Programmierer das Programm aufteilen und die erforderliche Funktion aufrufen. In C gibt es Bibliotheksfunktionen. Diese Funktionen werden 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 verknüpft sind. Sie dienen der Prototyp- 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 tatsächliche Implementierung der Funktion enthält.

Laden Sie das PDF des Funktionsprototyps vs. Funktionsdefinition in C herunter

Sie können die PDF-Version dieses Artikels herunterladen und gemäß Zitatvermerk für Offline-Zwecke verwenden. Laden Sie die PDF-Version hier herunter: Unterschied zwischen Funktionsprototyp und Funktionsdefinition in C

Referenz:

1.C Funktionsdefinitionen. Hier verfügbar 
2. tutorialspoint.com. "C-Funktionen".  Die StelleHier verfügbar 

Bildhöflichkeit:

1. Das Logo der Programmiersprache C von Rezonansowy (Public Domain) über Commons Wikimedia