Unterschied zwischen Funktionsprototyp und Funktionsdefinition in C

Unterschied zwischen Funktionsprototyp und Funktionsdefinition in C

Schlüsselunterschied - Funktionsprototyp VS Funktionsdefinition in C
 

Eine Funktion ist eine Gruppe von Aussagen, die zur Ausführung einer bestimmten Aufgabe verwendet werden. In der C -Programmierung beginnt die Ausführung von Main (). Es ist eine Funktion. Anstatt alle Aussagen im selben Programm zu schreiben, kann es in mehrere Funktionen unterteilt werden. Jede Funktion führt unterschiedliche Funktionen durch. Der Funktionsprototyp teilt dem Compiler über den Funktionsnamen, die Rückgabetypen und die Parameter mit. Es ist auch als Funktionserklärung bekannt. Jede Funktion hat einen bestimmten Namen, um ihn zu identifizieren. Die Funktionsanweisungen sind in einem Paar lockiger Klammern geschrieben. Die Funktionen können einen Wert zurückgeben. Es gibt einige Funktionen, die keinen Wert zurückgeben. Die Daten werden unter Verwendung der Parameterliste an die Funktion übergeben. Die Funktionsdefinition hat die tatsächliche Funktionalität, die von der Funktion durchgeführt wird. Bei der C -Programmierung gibt es Funktionsprototyp und Funktionsdefinition. Der Schlüsselunterschied Zwischen dem Funktionsprototyp und der Funktionsdefinition besteht die, dass die Der Funktionsprototyp enthält nur die Deklaration der Funktion, während die Funktionsdefinition die tatsächliche Implementierung der Funktion enthält. Die Funktionsdefinition hat die lokalen Variablen und die Aussagen, die bestimmen, was die Funktion macht.

INHALT

1. Überblick und wichtiger Unterschied
2. Was ist Funktionsprototyp in C
3. Was ist Funktionsdefinition in C
4. Ähnlichkeiten zwischen Funktionsprototyp und Funktionsdefinition in C
5. Seite für Seitenvergleich - Funktionsprototyp vs Funktionsdefinition in C in tabellarischer Form
6. Zusammenfassung

Was ist Funktionsprototyp in C?

Der Funktionsprototyp liefert die Funktionserklärung. Es gibt den Namen der Funktion, die Rückgabetypen, die Parameter an. Die Rückgabetypen sind der Datentyp, der aus der Funktion zurückgibt. Wenn eine Funktion eine Ganzzahl zurückgibt, ist der Rückgabetyp int 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 Hohlraumfunktion. Der Funktionsname wird verwendet, um ihn zu identifizieren. C Schlüsselwörter können nicht als Funktionsnamen verwendet werden. Die Daten werden unter Verwendung der 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 die maximal zwei Zahlen zu berechnen, kann die Deklaration als int max (int num1, int num2) geschrieben werden; Der Maximalwert sollte in Num1 und Num2 gefunden werden. Das sind Ganzzahlen, und sie werden an die Funktion übergeben. Der Rückgabetyp ist am Anfang auch int int. Die Funktion gibt also einen Ganzzahlwert 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 Ganzzahlen als Num1, Num2, Num3 gibt und der Prototyp als int max (int num1, int num2, num3) geschrieben ist; Es ist ungültig. Der Num1, Num2 hat die Datentypen, Num3 hat jedoch keinen Datentyp. Daher ist es ungültig.

Verweisen Sie das folgende Programm.

#enthalten

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

Rückkehr 0;

int calmax (int p, int q)

int Wert;

if (p> q)

Wert = P;

anders

Wert = q;

Rückgabewert;

Gemäß den oben genannten zeigt die zweite Anweisung den Funktionsprototyp an. Es hat keine Implementierung. Die tatsächliche 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 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 das Steuerelement auf die aufgerufene Funktion übertragen. Nach der Ausführung der Funktion kehrt die Steuerung zurück zur Hauptfunktion zurück. Die erforderlichen Daten werden als Parameterliste an die Funktion übergeben. Wenn ein Wert zurückgibt, wird der Rückgabetyp erwähnt. Wenn es keine Rückgabewerte gibt, ist der Rückgabetyp ungültig. Siehe die folgende Funktion, um die Fläche eines Dreiecks zu berechnen.

#enthalten

float calarea (int x, int y);

int main ()

int p = 10;

int q = 20;

Floratbereich;

Bereich = Calarea (p, q);

printf („Der Maximalwert ist %f \ n“, Fläche);

Rückkehr 0;

float calarea (int x, int y)

Schwimmerwert;

Wert = 0.5 * x * y;

Rückgabewert;

Gemäß dem obigen Programm gibt die zweite Anweisung den Funktionsprototyp an. Die tatsächliche Implementierung dessen, was die Funktion ausführt, ist nach dem Hauptprogramm geschrieben. Es ist die Funktionsdefinition. Die P- und Q -Werte werden an die Calarea -Funktion übergeben. Der variable Wert ist eine lokale Variable für die Calarea -Funktion. Die Fläche wird berechnet und dem variablen Wert zugeordnet. Dann wird es wieder zum Hauptprogramm zurückgegeben.

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

  • Sowohl Funktionsprototyp als auch Funktionsdefinition beziehen sich auf Funktionen.
  • Sowohl Funktionsprototyp als auch Funktionsdefinition enthalten den Funktionsnamen.
  • Beide Funktionsprototypen und Funktionsdefinition enthalten Rückgabetypen.
  • Sowohl Funktionsprototyp als auch Funktionsdefinition enthalten Parameter.

Was ist der Unterschied zwischen Funktionsprototyp und Funktionsdefinition in C?

Funktionsprototyp vs Funktionsdefinition in c

Der Funktionsprototyp gibt den Funktionsnamen, den Rückgabetyp, die Parameter an, lässt jedoch die Funktionsbehörde aus. Die Funktionsdefinition gibt den Funktionsnamen, Rückgabetyp an; Parameter enthalten eine Funktionskörper.
Implementierung
Der Funktionsprototyp verfügt nicht über die Funktionsinimpomentierung. Die Funktionsdefinition hat die Funktionsimplementierung.

Zusammenfassung - Funktionsprototyp vs Funktionsdefinition in c

Die Verwendung von Funktionen in Programmen hat Vorteile. Funktionen erhöhen die Wiederverwendbarkeit der Code -Wiederverwendbarkeit. Es ist nicht notwendig, denselben Code immer wieder zu schreiben. Stattdessen kann der Programmierer das Programm teilen und die erforderliche Funktion aufrufen. In C gibt es Bibliotheksfunktionen. Diese Funktionen werden in den C -Header -Dateien deklariert. Einige von ihnen sind printf (), scanf () usw. Der Programmierer kann auch seine eigenen Funktionen schreiben. Es gibt zwei Begriffe, die mit Funktionen in C verbunden sind. Sie funktionieren Prototypen 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 die Definition der PDF of Function Prototype vs Funktion in C herunter

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

Referenz:

1.C Funktionsdefinitionen. Hier verfügbar 
2.Tutorialspitze.com. „C Funktionen." Der Punkt. Hier verfügbar 

Bild mit freundlicher Genehmigung:

1.'Die C -Programmiersprache Logo'By Rezonansowy (Public Domain) über Commons Wikimedia