Technischer Ablauf

  • Für jeden Funktionsaufruf wird ein sogenannter Aktivierungsblock im Speicher (Frame) angelegt
  • Dieser Werte werden notiert:
    • Platz für alle lokalen Variablen der Funktion
    • Platz für alle Parameter einer Funktion
    • Platz für die Rücksprungadresse
  • Bei Beendigung der Funktion wird dieser frame wieder abgebaut

Signatur

= Funktionskopf

Implementierung der Funktion

3 Möglichkeiten:

  1. Vor die main()-Funktion

Compiler kennt Signatur und Implementierung

  1. Hinter die main()-Funktion
  2. In eine andere Datei

Compiler kennt nur Sigatur. Implementierung wird später übersetzt oder vom Linker eingebunden
=>Vorabdeklaration (ohne Implementierung) nötig

Anwendung von Funktionen

  • EVA-Prinzip (Eingabe, Verarbeitung, Ausgabe)