Funktionsdefinition
← Einsatz von Funktionen | ● | Funktionshierarchie →
Ein einfaches Beispiel einer Funktionsdefinition anhand des ggT:
Ausgehend von der mathematischen Definition des größten gemeinsamen Teilers $ggT(a,b)$
ergeben sich die Ein- und Ausgabewerte zu:
und damit die Funktionsdeklaration in C:
Die Implementierung des Algorithmus, d.h. die Definition von $gcd(a,b)$, läßt sich in C äquivalent formulieren:
unsigned int gcd(unsigned int a, unsigned int b)
{
if (b>0) return(gcd(b, a%b));
else return(a);
}
Q Die Funktion gcd ruft sich selber auf, ist das überhaupt erlaubt?
Ja, man spricht hier von einer rekursiven Funktion, welche durch das Konzept der Stapelmaschine realisierbar ist.