Home

Funktionsaufrufe

Funktionsaufrufe bezeichnen den Vorgang, eine Funktionsdefinition zu verwenden, indem Argumente an deren Parameter übergeben werden. Die Funktion wird ausgeführt und liefert meist einen Rückgabewert. Funktionsaufrufe sind grundlegend in den meisten Programmiersprachen und können neben benannten Funktionen auch Lambdas oder Closures umfassen. Sie unterscheiden sich von Methodenaufrufen, die an ein Objekt gebunden sind.

Die genaue Syntax variiert je Sprache. Typisch wird der Funktionsname mit einer oder mehreren Klammern geschrieben,

Ein Funktionsaufruf liefert je nach Definition genau einen Rückgabewert, oder keinen Wert (void bzw. Unit). Funktionsaufrufe

Unterschiede ergeben sich durch Dispatch-Strategien (direkter Aufruf, statische oder dynamische Dispatch) und durch Optimierungen wie Inlining.

zum
Beispiel
func(a,
b).
Die
Argumente
sind
Ausdrücke,
deren
Werte
zum
Zeitpunkt
des
Aufrufs
ermittelt
werden.
Üblich
sind
verschiedene
Übergabemodelle:
by
value
(Wertübergabe),
by
reference
(Referenz)
oder
durch
Zeiger,
sowie
in
manchen
Sprachen
Rest-
oder
optionale
Argumente.
Manche
Sprachen
unterstützen
auch
default-Werte
für
Parameter.
können
Nebenwirkungen
haben,
etwa
das
Ändern
von
globalem
Zustand,
das
Schreiben
in
Dateien
oder
das
Modifizieren
von
Parametern
in
bestimmten
Modellen.
Die
Ausführung
erfolgt
typischerweise
durch
das
Erstellen
eines
neuen
Aktivierungsrahmens
auf
dem
Aufrufstapel;
lokale
Variablen
existieren
innerhalb
dieses
Rahmens.
Tail-Calls
ermöglichen
in
einigen
Sprachen
eine
Optimierung
am
Ende
eines
Aufrufs.
Funktionsaufrufe
bilden
zentrale
Bausteine
der
Programmierlogik
und
treten
in
fast
allen
Paradigmen
in
unterschiedlichen
Formen
auf.