locale variabelen van een thread quasi – statisch. Een byte – array zou daardoor ook als buffergeheugen
voor data – overdracht gebruikt kunnen worden (zie bibliotheekmodule hwcom.2).
Voorbeeld:
Thread tx
{
byte buf [48] ;
/ / . . .
}
Bij het uitgeven van namen voor locale variabelen dient u er op te letten, dat deze eventueel globale
kenmerken van dezelfde module verbergen. Als u dan toegang wilt krijgen tot gelijknamige globale
kenmerken, moet bovendien de modulenaam gespecificeerd worden, alsof het globale kenmerk zich in
een andere module zou bevinden.
Voorbeeld in module a.c2
int i;
functie fx ()
{
int i;
i = 0; / / <- locale i
a.i = 0; / / <- globale i
}
5.6 Constanten
5.6.1 Benoemde en onbenoemde constanten
Onbenoemde constanten worden zeer vaak gebruikt. In de opdracht
a = 1;
is "1" een onbekende getalsconstante.
Benoemde constanten vertegenwoordigen een waarde, die deze daaraan voorafgaand in de constanten
– definitie (zie verderop) is toegewezen. De definitie en het gebruik van benoemde constanten heeft de
volgende voordelen:
• •
Reductie van het gedoe bij eventuele veranderingen in het programma – constanten hoeven alleen op
de plek van hun definitie gewijzigd te worden, niet op de vele plaatsen waar ze in het programma
gebruikt worden.
• •
Verhoging van de leesbaarheid van het programma, als constanten met volledig zelfbeschrijvende
kenmerken gedefinieerd worden (zie ook b.v. ERDUMFANG in plaats van EUMF).
• •
Voor herhaald gebruik van dezelfde long-, float- en string- constanten is minder geheugenruimte in
het constantengeheugen nodig. Onbekende constanten met dezelfde waarde of tekstinhoud zouden
namelijk bij het vaker gebruiken in de programma – brontekst meerdere keren in het
constantengeheugen aangelegd worden.
Constanten met samengesteld datatype worden in C2 niet ondersteund.
5.6.2 Onbenoemde cijferconstanten
Decimale getallen bestaan uit een volgorde van de cijfers 0 ... 9 zonder spaties. Als optie kan er een
minteken voorgezet worden.
Bij decimale getallen met zwevende komma volgen zonder spatie een decimale punt (geen komma!) en
de cijfers achter de komma. Het exponenten – format wordt niet ondersteund.
Hexadecimale getallen zijn gevolgen van de hexadecimale cijfers 0 ... 9, A ... F resp. a ... f met het
voorvoegsel "0x" of "0X" (vergelijk C/C++).
30