Eine Funktion ist ein Programmbaustein, der innerhalb eines Programmes wiederholt verwendet werden kann, sowohl von anderen Funktionen als auch von sich selbst (sog. Rekursion).
You should already understand the concept of functions! If you don't, you are a sad sad man....
Might expand on this one day.
P.S. main() is a Funktion.
Genau wie Variablen müssen Funktionen vor ihrer Verwendung
deklariert werden. Ein Beispiel:int add( int, int);
Diese Anweisung deklariert eine Funktion namens add, die zwei Parameter vom Typ int übernimmt und ein Ergebnis vom Typ int zurückliefert.
Die Definition ist der Kern einer Funktion. Hier ein Beispiel.
Diese Art der Übergabe von Werten an eine Funktion heißt call by value. Dabei wird beim Funktionsaufruf die Kopie eines Wertes an die Funktion übergeben. Wenn die Funktion die Kopie verändert, bleibt das Original unverändert. Das vorhergehende Beispiel zeigt einen call by value .
Diese Art der Übergabe von Werten an eine Funktion simuliert einen call by reference. Das Konzept besteht darin, einer Funktion einen Zeiger auf eine Variable zu übergeben. Über den Zeiger kann die Funktion dann den Originalwert ändern.
Beispiel für die Übergabe einer Zeigers auf eine einfache Variable.
Nach dem Schlüsselwort return kann man in einer Funktion beschreiben, welches Ergebnis die Funktion an die Aufrufstelle zurückliefern soll, siehe
Beispiel . Der Rückgabewert kann nur ein einfacher Datentyp (int, double, float, etc.) sein, Arrays sind z.B. nicht möglich.Bei einfachen Datentypen ist die Rückgabe von Werten ausreichend aber nicht, wenn man z.B. 'char *' oder Strukturen zurückgeben will. In solchen Fällen arbeitet man mit Zeigern, die als Ergebnis zurückgegeben werden. Wenn man mit Zeigern als Rückgabewert arbeitet, muß man sich über die Bedeutung der Speicherklasse '
static' im Klaren sein, sonst erhält man undefinierte Ergebnisse.