Unterschied Zwischen Funktionsprototyp Und Funktionsdefinition In C

Inhaltsverzeichnis:

Unterschied Zwischen Funktionsprototyp Und Funktionsdefinition In C
Unterschied Zwischen Funktionsprototyp Und Funktionsdefinition In C
Anonim

Hauptunterschied - Funktionsprototyp vs. Funktionsdefinition in C

Eine Funktion ist eine Gruppe von Anweisungen, mit denen eine bestimmte Aufgabe ausgeführt wird. Bei der C-Programmierung beginnt die Ausführung mit main (). Es ist eine Funktion. Anstatt alle Anweisungen in dasselbe Programm zu schreiben, kann es in mehrere Funktionen unterteilt werden. Jede Funktion führt unterschiedliche Funktionen aus. Der Funktionsprototyp informiert den Compiler über den Funktionsnamen, die Rückgabetypen und die Parameter. Es wird auch als Funktionsdeklaration bezeichnet. Jede Funktion hat einen bestimmten Namen, um sie zu identifizieren. Die Funktionsanweisungen werden 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 enthält 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 tatsächliche Implementierung der Funktion enthält. Die Funktionsdefinition enthält die lokalen Variablen und die Anweisungen, die bestimmen, was die Funktion tut.

INHALT

1. Überblick und Hauptunterschied

2. Was ist ein Funktionsprototyp in C

? 3. Was ist eine Funktionsdefinition in C ?

4. Ähnlichkeiten zwischen Funktionsprototyp und Funktionsdefinition in C

5. Vergleich nebeneinander - Funktionsprototyp und Funktionsdefinition in C in Tabellenform

6. Zusammenfassung

Was ist der Funktionsprototyp in C?

Der Funktionsprototyp liefert die Funktionsdeklaration. Es 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 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 wird verwendet, um ihn zu identifizieren. 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 zum Berechnen des Maximums von zwei Zahlen gibt, kann die Deklaration als int max (int num1, int num2) geschrieben werden. Der Maximalwert sollte in num1 und num2 gefunden werden. Dies sind Ganzzahlen, die an die Funktion übergeben werden. 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 Funktionsprototyp zu schreiben. Es ist jedoch notwendig, die Datentypen zu schreiben. Daher int max (int, int); ist auch ein gültiger Funktionsprototyp. Wenn es zwei ganze Zahlen als num1, num2, num3 gibt und der Prototyp als int max (int num1, int num2, num3) geschrieben wird; es ist ungültig. Die Nummern num1, num2 haben die Datentypen, aber num3 hat keinen Datentyp. Daher ist es ungültig.

Unterschied zwischen Funktionsprototyp und Funktionsdefinition in C
Unterschied zwischen Funktionsprototyp und Funktionsdefinition in C

Siehe das folgende 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 value;

if (p> q) {

Wert = p;

}}

sonst {

Wert = q;

}}

Rückgabewert;

}}

Demnach zeigt die zweite Aussage den Funktionsprototyp. 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 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 übertragen. 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 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;

Flottenbereich;

Fläche = calArea (p, q);

printf ("Der Maximalwert ist% f / n", Bereich);

return 0;

}}

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 tatsächliche 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 Funktion calArea. Die Fläche wird berechnet und dem Variablenwert zugeordnet. Dann wird es zum Hauptprogramm zurückgebracht.

Was sind die Ähnlichkeiten zwischen Funktionsprototyp und Funktionsdefinition in C?

  • Sowohl der Funktionsprototyp als auch die Funktionsdefinition beziehen sich auf Funktionen.
  • Sowohl der Funktionsprototyp als auch die Funktionsdefinition enthalten den 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?

Diff Artikel Mitte vor Tabelle

Funktionsprototyp vs Funktionsdefinition in C

Der Funktionsprototyp gibt den Funktionsnamen, den Rückgabetyp und die Parameter an, lässt jedoch den Funktionskörper weg. Die Funktionsdefinition gibt den Funktionsnamen und den Rückgabetyp an. Parameter umfassen einen Funktionskörper.
Implementierung
Der Funktionsprototyp verfügt nicht über 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, immer wieder denselben Code zu schreiben. Stattdessen kann der Programmierer das Programm teilen und die erforderliche 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 seine eigenen Funktionen schreiben. Es gibt zwei Begriffe, die Funktionen in C zugeordnet sind. Sie funktionieren als 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 von Function Prototype vs Function Definition in C herunter

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

Empfohlen: