Funktionen
Eine Funktion ist ein Codeblock, der eine spezielle Aufgabe erledigt.
Wenn man beispielsweise ein Programm machen muss, dass die Aufgabe hat einen Kreis zu zeichnen und den Kreis zu färben. Um dieses Problem zu lösen, kann mann zwei Funktionen erstellen:
eine Funktion für den Kreis
eine Funktion für die Farbe
Das heisst, man nimmt ein komplexes Problem und bricht es in kleine Probleme runter. Das erhöht die Lesbarkeit und die Wiederverwendung.
Typen von Funktionen
Es gibt zwei Arten von Funktionen:
Standard Library Functions
User-defined Functions
Standard Library Functions
Diese Standard Library Functions sind eingebaute Funktionen in C. Diese Funktionen werden in den Header-Files definiert. Beispiele:
printf()
: In der Header-Dateistdio.h
sqrt()
: In der Header-Dateimath.h
User-defined functions
Man kann als Programmierer seine eigenen Funktionen erstellen.
#include <stdio.h>
void functionName()
{
... .. ...
... .. ...
}
int main()
{
... .. ...
... .. ...
functionName();
... .. ...
... .. ...
}
Die Ausführung fängt bei der main()
-Funktion an. Wenn der Compiler zu functionName()
kommt, springt er zu der Funktion oben (Zeile 3).
Jetzt fängt der Compiler an, den Code in der Funktion functionName()
auszuführen. Nachdem die Funktion fertig ist, geht sie zurück zur main()
-Funktion.
Beispiel
#include <stdio.h>
int main()
{
int n1, n2, sum;
printf("Enters two numbers: ");
scanf("%d %d", &n1, &n2);
sum =
printf("sum = %d", sum);
return 0;
}
{
int result;
result = a + b;
}
Function Prototype
Ein Funktionsprototyp ist einfach die Deklaration einer Variable, die Name, Parameter und den return
-Type angibt.
Ein Funktionsprototyp gibt dem Compiler die Information, dass die Funktion möglicherweise später genutzt wird.
returnType functionName(type1 argument1, type2 argument2, ...);
Funktionsaufruf
Der Programmablauf wird bei Aufrufen einer Funktion unterbrochen und geht zur jeweiligen Funktion und führt diese aus.
functionName(argument1, argument2, ...);
Funktionsdefinition
Die Funktionsdefinition enthält den Code, welche die Funktion ausführen sollte.
returnType functionName(type1 argument1, type2 argument2, ...)
{
// body of the function
}
return
-Statement
return
-StatementDas return
-Statement beendet die Funktion und gibt ein Wert zurück.
return (expression);
Beispiel
return a;
return (a + b);
Der Wert des return
-Statements muss mit dem Typen der Funktion übereinstimmen.
Zuletzt aktualisiert
War das hilfreich?