In der Sprache C gibt es keine Unterschied zwischen einer Prozedur und einer Funktion, wie zum Beispiel in Basic. Jede Routine wird gleich behandelt. Grundsätzlich ist es in C zwingend erforderlich, dass Funktionen vor ihrem Aufruf zuerst angekündigt werden. Das heißt, dass der Kopf einer jeden Funktion vor besagtem Aufruf stehen muss. Danach folgt der Programmeinstiegspunkt main und danach die Definition der Unterprogramme. Prinzipiell sieht eine Funktion in C folgend aus:
{Schlüsselwörter} [Datentyp] Funktionsname( {Parameterliste} )
int Funktion(int x1, int x2)
Auch bei Funktionen kann das Feld \"Datentyp\" jeden beliebigen Datentyp annehmen. Hier ist jedoch darauf zu achten, dass bei komplexen, eigenen Datentypen ein Zeiger zurückgegeben werden muss.
Die Parameterliste kann beliebig viele Parameter enthalten, die syntaktisch gleich zu schreiben sind, wie Variablendeklarationen. Die Parameter in der Liste müssen durch Beistriche getrennt werden und können ebenfalls jeden Datentyp darstellen. Bei der Übergabe von Parametern gelten folgende Richtlinien:
a) Zwischen den beiden runden Klammern können beliebig viele Parameter stehen, die durch einen Beistrich getrennt werden müssen.
b) Zusätzlich zum Namen der Variablen muss auch deren Typ angegeben werden.
c) Es können Zeiger auf Variablen oder auch Variablen selbst übergeben werden.
d) Es ist möglich, die Parameterliste variabel zu gestalten (Ellipse ...)
Wird an die Funktion ein Feld übergeben, so geschieht dies über einen Zeiger. Dieser zeigt auf das erste Element des Feldes.
Soll die aufgerufene Funktion ein Resultat zurückliefern, so ist die Art, wie die Variable zurückgeliefert wird, abhängig von deren Typ. Wird ein Feld zurückgeliefert, muss ein Zeiger auf das Feld zurückgeliefert werden. Bei normalen Variablen kann der Wert oder der Zeiger zurückgeliefert werden. Weitere Information: siehe 4.6
|