"abc"
"xyz"
wordt door de C2- compiler gekoppeld tot "abcxyz"
5.6.5 Definitie van benoemde constanten
Benoemde constanten worden steeds globaal op moduleniveau gedefinieerd. Ze staan na de definitie via
de aanduiding van het modulekenmerk in het hele programma ter beschikking (vergelijk globale
variabelen). Locale constanten van threads en functies zijn er niet.
De definitie van een benoemde constante begint met het codewoord const. Aansluitend volgen het
kenmerk, een toewijzingsoperator alsmede een constante term en afsluitend een puntkomma.
const
Name = constante term;
Voorbeeld:
const. A = 1000;
const. B = A + 100000;
const. C = 17.4;
Het datatype van een constante wordt door de compiler automatisch bepaald. Het maximaal benodigde
type wordt gebruikt. Voor A in het voorbeeld hierboven is maximaal een int – datatype nodig, voor B
echter een long, en C kan alleen weergegeven door een float – type. B en C worden door de compiler in
het constantengeheugen van de C-Control II unit aangelegd, waar ze een vast adres hebben. Speciale
operatiecodes van de virtuele machine van de C-Control II unit laden benoemde en onbenoemde byte-
en integerconstanten, zoals hierboven A, altijd rechtstreeks, d.w.z. ingebed in de operatiecode. Voor A
wordt daarom geen plaats in het constantengeheugen belegd.
Naast numerieke constanten kunnen ook stringconstanten benoemd worden. In plaats van de constante
numerieke term moet dan een tekenketen tussen aanhalingstekens na de toewijzingsoperator staan.
const
Name = "Text";
Voorbeeld:
const GREETINGS = "Hallo C2"
const TABLEHEAD = "Nummer\ttijd\twaarde";
Stringconstanten nemen in het constantengeheugen van de C-Control II unit slechts zoveel bytes in
beslag als ze tekens bevatten, met daarnaast nog een byte voor het opslaan van de stringlengte. In
tegenstelling tot de string – variabelen kunnen stringconstanten ook meer dan 30 tekens bevatten. Ze
worden echter bij stringoperaties tot maximaal 30 tekens gereduceerd.
5.6.6
Benoemde constante arrays
Zowel van numerieke constanten als van stringconstanten kunnen benoemde
aangelegd worden. In beide gevallen staat na het kenmerk een paar rechte haakjes [ ]. Na de
toewijzingsoperator worden, steeds gescheiden door een komma, de aparte elementen opgesomd. De
grootte van de array volgt automatisch uit de telling van de opgesomde elementen. Een array kan ook uit
slechts
n element bestaan.
const Name [ ] = element1, element2, ...;
Voorbeeld:
const CHARACTERS [ ] = 'A', 'B', 'C';
const TABLE1 [ ] = 0, 100, 10000, 1000000;
const TABLE2 [ ] = 0, 1.5, 3, 17;
const ONE [ ] = 1;
Arrays van numerieke waarden worden automatisch in het maximaal benodigde getalsformaat afgelegd.
Dit volgt uit het element met het meest veeleisende datatype. Zo wordt TABLE1 in het voorbeeld
hierboven een array van long – waarden (vanwege het element 1000000), TABLE2 wordt een float –
array (vanwege het element 1.5). CHARACTERS en ONE zijn integer – arrays.
ndimensionale arrays
32