const S = "AAA"
const SA [ ] = "XXXX", "YYYY", "ZZZZ";
string s1;
string sa [3];
string s;
s1
= "bbb"
sa[0]
= "uuu"
sa[1]
= "vvv"
sa[2]
= "www"
/ / Stringtoewijzing met koppeling:
s = s1 + sa[2] + s + SA[0] + "ccc" + ('A' + 3);
Na deze opdracht bevat s de tekst "bbbwwwAAAXXXXcccD".
5.8 Functies
De virtuele machine van de C-Control II unit ondersteunt de programmering met subfuncties. Blokken van
opdrachten, die in het programma meerdere keren gebruikt worden, kunnen in functies samengevat
worden. Bij het oproepen van een functie kunnen parameters doorgegeven worden. De functie zelf kan
een rekenresultaat teruggeven. In C2 is er geen scheiding tussen declaratie en definitie van een functie.
Als een functie eenmaal in een module geschreven is, kan deze verderop in deze module en alle
volgende modules van het project gebruikt, dus opgeroepen worden. De brontekst van een functie
bestaat uit de functiekop en een opdrachtblok.
function fx ( )
{
/ / . . . opdrachten
}
5.8.1 Functiekop
De functiekop begint met het codewoord function. Aansluitend volgen de functienaam (kenmerk) en
tussen ronde haakjes de lijst van de formele parameters. Als optie kan dan nog na het codewoord
returns een resultaat – type gespecificeerd worden.
Function name (type1 name1, . . .) returns type
Functies in C2 kunnen alleen numerieke resultaten teruggeven, dus de data – types byte, int, long en
float. Het teruggeven van strings, arrays of samengestelde types is niet mogelijk.
function fx ( ) returns byte / / OK
function fx ( ) returns int
function fx ( ) returns long / / OK
function fx ( ) returns float / / OK
function fx ( ) returns string / / Fault!
function fx ( ) returns Mytype
In de lijst van de formele parameters worden types en namen van de bij het oproepen door te geven data
gespecificeerd. Meerdere parameters worden steeds door een komma van elkaar gescheiden. Als een
functie geen parameters bevat, dan staan er na de functienaam alleen de openende en sluitende ronde
haakjes. Als parameters kunnen numerieke data, strings of data met samengesteld type doorgegeven
worden. Ook arrays zijn mogelijk. Bij de overdracht van arrays vindt er geen aanduiding van de grootte
plaats in de rechthoekige haakjes na de parameternamen.
/ / OK
/ / Fault!
36