User manual
5.8.5 Typenprüfung
Der C2-Compiler führt zu jedem Aufruf einer Funktion eine Prüfung durch, ob neben der
Anzahl der Parameter auch deren jeweiliger Typ der Funktionsdefinition entspricht. Ein
Bezeichner einer string-Variablen kann z.B. nicht übergeben werden, wenn laut
Definition an dieser Stelle ein numerischer Ausdruck erwartet wird.
Es gelten folgende Typkompatibilitätsregeln:
*) Referenzen auf konstante Arrays dürfen nicht an Funktionen übergeben werden.
5.8.6 Rekursion
Eine Funktion kann sich theoretisch auch selbst aufrufen. Das wird als Rekursion bezeich-
net. Einige mathematische Näherungen beruhen auf rekursiven Algorithmen mit
Abbruchschranken.
☞ C2 verbietet rekursive Funktionsaufrufe nicht ausdrücklich, sie sollten jedoch vermieden
werden.
Typ des formalen Parameters zulässige aktuelle Parameter beim Funktionsaufruf
im Funktionskopf
byte, int, long, float beliebiger numerischer Ausdruck
byte[] Bezeichner einer byte-Arrayvariable*),
Bezeichner einer string-Variable,
indizierter Bezeichner einer string-Arrayvariable
int[] Bezeichner einer int-Arrayvariable*)
long[] Bezeichner einer long-Arrayvariable*)
float[] Bezeichner einer float-Arrayvariable*)
string unbenannte string-Konstante,
Bezeichner einer string-Variable,
indizierter Bezeichner einer string-Arrayvariable,
Bezeichner einer string-Konstante,
indizierter Bezeichner einer string-Arraykonstante
string[] Bezeichner einer string-Arrayvariable*)
zusammengesetzter Typ, Bezeichner einer MyType-Variable,
z.B. MyType indizierter Bezeichner einer MyType -Arrayvariable
MyType[] Bezeichner einer MyType-Arrayvariable *)
71
5 Programmiersprache C2