Atari Logo
Atari Computer

Hauptseite -
Welches System? -
Hardware -
Software -
Emulatoren -
Internet
MausNet
Programmieren
Verweise
Über

C

Home Inhaltsverzeichnis goto main

10 Funktionen

Eine Funktion dient dazu, eine Menge von Anweisungen zusammenzufassen und unter einem Namen anzusprechen. Ein Funktion kann mit ihrem Aufruf Werte mitbekommen, um ihre Aufgabe für verschiedene Werte durchzuführen. Diese Werte nennt man Parameter. Die Funktion kann ein Ergebnis zurückliefern, das in Ausdrücken verwendet werden kann.

Eine Funktion besteht aus dem Funktionskopf und in geschweiften Klammern dem Rumpf, der Deklarationen und Anweisungen enthalten kann.

Der Funktionskopf besteht aus dem Datentyp des Wertes, den die Funktion zurückliefert. Daran schließt sich der Funktionsname an. Anschließend folgen in geschweiften Klammern die Parameter. Die Parameter sind eine Liste von Datentypen und Namen des Parameters, durch Komma getrennt.

Eine Funktion kann keine zusammengesetzten Datentypen wie Strukturen oder Felder zurückliefern.

int Addiere(int x,int y)
{
   return x+y;
}

int main(void)
{  int x;

   x = Addiere(3,4);
   return 0;
}

Diese Funktion liefert einen int zurück, heißt Addiere und hat zwei Parameter x und y vom Typ int.

Beendet wird die Funktion entweder bei Erreichen der letzten geschweiften Klammer oder mit dem Operator return. Soll die Funktion einen Wert zurück geben, wird dieser Wert als Parameter des Operators return angegeben. Die Funktion Addiere gibt den Wert x+y zurück, also die Summe. Liefert die Funktion keinen Wert zurück, ist also typlos, kann das Schlüsselwort void verwendet werden. Ein Beispiel findet sich in dem Kapitel über offene Felder. Genauso kann bei einer Funktion ohne Paramter in die Klammern void geschrieben werden.

Aufgerufen wird die Funktion durch ihren Namen gefolgt von Klammern. Wenn die Funktion Parameter erwartet, werden diese in den Klammern durch Komma getrennt angegeben. Der Returnwert einer Funktion muß nicht in einem Ausdruck verwendet werden, sie kann auch dann, wenn sie nicht vom Typ void ist, ignoriert werden. Eine Funktion mit Returnwerten kann wie eine Prozedur in Pascal verwendet werden. Dies ist allerdings in der Regel nicht sinnvoll. Denn entweder ist der Returnwert das Ergebnis der Berechnung der Funktion und wird deshalb benötigt. Oder es handelt sich um einen Fehlerwert, der deshalb auch abgefragt werden sollte.

Eine Funktion innerhalb einer Funktion wie z.B. in Pascal zu schreiben ist nicht möglich.

Um ein Programm leichter verständlich zu machen, sollten alle Variablen, die von außerhalb der Funktion benutzt werden sollen, als Parameter übergeben werden. Ein Zugriff auf globale Variablen versteckt, welche Funktionen welche Variablen verändern. Ausnahmen sind dann sinnvoll, wenn kleine Funktionen sehr häufig aufgerufen werden und der Aufruf auf Geschwindigkeit optimiert werden muß.



Home Inhaltsverzeichnis goto main


Best viewed with any browser English version not yet available.

Änderungen und Irrtümer vorbehalten. Letzte Änderung:
14 September 2001.
Home - Mail an den Webmaster - Impressum