C Funktionen ohne Rückgabewert, Parameter


Page updated: 19. August 2004


Inhalt: Deklaration - Funktionsaufruf - Parameter called by value - Parameter called by name

Demoprogramme prozedur1.c - prozedur2.c - prozedur3.c


Item Deklaration. TOP TOP

Unterroutinen werden in C / C++ als Funktionen bezeichnet. Es gibt mehrere Möglichkeiten, Funktionen zu deklarieren! Da C/C++ keine Unterscheidung zwischen Prozeduren und Funktionen macht, muß der Datentyp der Funktion void sein, wenn man eine Unterroutine in C/C++ schreibt. Auch Prozeduren können eine Parameterliste haben - Parameter werden gesondert behandelt.
In C/C++ kann bei einer leeren Parameterliste das Schlüsselwort void entfallen. Es darf jedoch keinesfalls bei der Typenangabe der Funktion selbst entfallen:

void Funktion(void);     ist identisch mit     void Funktion();


a) Deklaration der kompletten Funktion vor dem Hauptprogramm main() bzw. vor der Funktion, die die zu schreibende Funktion aufruft (auch Funktionen können andere Funktionen aufrufen). Der Grund: dem Compiler muß die Funktion «bekannt» sein, wenn er einen Funktionsaufruf übersetzen soll. b) Deklaration der Prototyp Funktion vor dem Hauptprogramm main() bzw. vor der Funktion, die die zu schreibende Funktion aufruft (auch Funktionen können andere Funktionen aufrufen). Die vollständige Definition einer Funktion mit allen ihren Befehlen erfolgt nach dem Ende von main() oder der Funktion, die die definierte Funktion benutzt. Dort muß nach Wiederholung des Funktionskopfes entsprechend der Prototyp-Zeile die Folge von Anweisungen in einem Block programmiert werden.
! Die Regel bei C/C++ "Wird der Datentyp weggelassen, ist er standardmäßig int" sollte laut ANSI Standard nicht mehr verwendet werden!

Item Aktueller Funktionsaufruf. TOP TOP

Unter einem aktuellen Funktionsaufruf versteht man die Verwendung (Abarbeitung) einer Funktion, zum Beispiel im Hauptprogramm. Die Funktion wird durch die Angabe Ihres Namens und einer aktuellen Parameterliste aufgerufen. Die Anzahl der aktuellen und der formalen Parameter muß in Anzahl und Datentyp übereinstimmen.
Item Parameter called by value. TOP TOP

In C/C++ besteht die formale Parameterliste aus einer durch Komma getrennten Angabe von Datentyp und Parameternamen.
! Felder (damit auch C-Stil Strings, jedoch nicht C++ Stil Strings vom Typ string) sind immer Zeiger (Adressen), können demzufolge nie als Parameter «called by value» übergeben werden! Sie müssen «called by name» übergeben werden!

Item Parameter called by name. TOP TOP

In der Parameterliste muß ein Parameter «called by name» als Zeiger gekennzeichnet werden:

Dr. J. Kubiak j.kubiak@gmx.net