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:
- Vor die
main()-Funktion
Compiler kennt Signatur und Implementierung
- Hinter die
main()-Funktion - 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)