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