C Benutzerdefinierte Funktionen
C Benutzerdefinierte Funktionen
In diesem Tutorial lernen Sie anhand eines Beispiels, benutzerdefinierte Funktionen in der C-Programmierung zu erstellen.
Eine Funktion ist ein Codeblock, der eine bestimmte Aufgabe ausführt.
C ermöglicht es Ihnen, Funktionen nach Ihren Bedürfnissen zu definieren. Diese Funktionen werden als benutzerdefinierte Funktionen bezeichnet. Zum Beispiel:
Angenommen, Sie müssen einen Kreis erstellen und ihn je nach Radius und Farbe einfärben. Sie können zwei Funktionen erstellen, um dieses Problem zu lösen:
createCircle()
Funktioncolor()
Funktion
Beispiel:Benutzerdefinierte Funktion
Hier ist ein Beispiel, um zwei ganze Zahlen zu addieren. Um diese Aufgabe auszuführen, haben wir einen benutzerdefinierten addNumbers()
erstellt .
#include <stdio.h>
int addNumbers(int a, int b); // function prototype
int main()
{
int n1,n2,sum;
printf("Enters two numbers: ");
scanf("%d %d",&n1,&n2);
sum = addNumbers(n1, n2); // function call
printf("sum = %d",sum);
return 0;
}
int addNumbers(int a, int b) // function definition
{
int result;
result = a+b;
return result; // return statement
}
Funktionsprototyp
Ein Funktionsprototyp ist einfach die Deklaration einer Funktion, die den Namen, die Parameter und den Rückgabetyp der Funktion angibt. Es enthält keinen Funktionskörper.
Ein Funktionsprototyp gibt dem Compiler die Information, dass die Funktion später im Programm verwendet werden kann.
Syntax des Funktionsprototyps
returnType functionName(type1 argument1, type2 argument2, ...);
Im obigen Beispiel int addNumbers(int a, int b);
ist der Funktionsprototyp, der dem Compiler die folgenden Informationen liefert:
- Name der Funktion ist
addNumbers()
- Rückgabetyp der Funktion ist
int
- zwei Argumente vom Typ
int
werden an die Funktion übergeben
Der Funktionsprototyp wird nicht benötigt, wenn die benutzerdefinierte Funktion vor main()
definiert wird Funktion.
Aufruf einer Funktion
Die Kontrolle über das Programm wird durch Aufruf an die benutzerdefinierte Funktion übertragen.
Syntax des Funktionsaufrufs
functionName(argument1, argument2, ...);
Im obigen Beispiel erfolgt der Funktionsaufruf mit addNumbers(n1, n2);
-Anweisung innerhalb des main()
Funktion.
Funktionsdefinition
Die Funktionsdefinition enthält den Codeblock zum Ausführen einer bestimmten Aufgabe. In unserem Beispiel zwei Zahlen addieren und zurückgeben.
Syntax der Funktionsdefinition
returnType functionName(type1 argument1, type2 argument2, ...) { //body of the function }
Beim Aufruf einer Funktion wird die Kontrolle über das Programm auf die Funktionsdefinition übertragen. Und der Compiler beginnt mit der Ausführung des Codes innerhalb des Hauptteils einer Funktion.
Argumente an eine Funktion übergeben
Bei der Programmierung bezieht sich Argument auf die Variable, die an die Funktion übergeben wird. Im obigen Beispiel zwei Variablen n1 und n2 werden beim Funktionsaufruf übergeben.
Die Parameter a und b akzeptiert die übergebenen Argumente in der Funktionsdefinition. Diese Argumente werden formale Parameter der Funktion genannt.

Der Typ der an eine Funktion übergebenen Argumente und die formalen Parameter müssen übereinstimmen, andernfalls gibt der Compiler einen Fehler aus.
Wenn n1 ist vom Typ char, a sollte auch vom Typ char sein. Wenn n2 ist vom Float-Typ, Variable b sollte auch vom Float-Typ sein.
Eine Funktion kann auch ohne Übergabe eines Arguments aufgerufen werden.
Rückgabeerklärung
Die return-Anweisung beendet die Ausführung einer Funktion und gibt einen Wert an die aufrufende Funktion zurück. Die Programmkontrolle wird nach der return-Anweisung an die aufrufende Funktion übergeben.
Im obigen Beispiel der Wert des Ergebnisses Variable wird an die Hauptfunktion zurückgegeben. Die Summe Variable in main()
Funktion wird dieser Wert zugewiesen.

Syntax der return-Anweisung
return (expression);
Zum Beispiel
return a; return (a+b);
Der Typ des von der Funktion zurückgegebenen Werts und der im Funktionsprototyp und in der Funktionsdefinition angegebene Rückgabetyp müssen übereinstimmen.
Besuchen Sie diese Seite, um mehr über das Übergeben von Argumenten und das Zurückgeben von Werten aus einer Funktion zu erfahren.
C Sprache