Eine Variablendeklaration kann auftreten
an jeder Position, an der ein Ausdruck gültig ist - lokale Variable
l
an jeder Position, an der eine Funktionsdeklaration oder eine Implementation der Funktion gültig ist -
l
globale Variablen;
im ersten Ausdruck einer "for" Schleife (siehe "for ( Ausdruck 1 ; Ausdruck 2 ; Ausdruck 3 ) Statement "
l
auf Seite 243) - lokale Variable
Beispiel:
new a;
// ohne Initialisierung (Wert ist 0)
new b = 3; // mit Initialisierung (Wert ist 3)
13.4.2.2 Lokale Deklaration
Eine lokale Deklaration erscheint innerhalb eines Anweisungs-Blocks. Auf eine Variable kann nur innerhalb
dieses Blocks und der darin enthaltenen Blöcke zugegriffen werden. Eine Deklaration innerhalb des ersten
Ausdrucks einer Schleifenanweisung ist ebenfalls eine lokale Deklaration.
13.4.2.3 Globale Deklaration
Eine globale Deklaration erscheint außerhalb einer Funktion und eine globale Variable kann in jeder Funktion
verwendet werden. Globale Variablen können nur mit konstanten Ausdrücken initialisiert werden.
13.4.2.4 Statische lokale Deklaration
Eine lokale Variable wird zerstört, wenn die Ausführung den Block verlässt, in dem die Variable geschaffen
wurde. Lokalen Variablen in einer Funktion existieren nur während der Laufzeit der genannten Funktion.
Jede neuer Aufruf der Funktion erstellt und initialisiert neue lokale Variablen. Wenn eine lokale Variable mit
dem Schlüsselwort "static" anstatt "new" deklariert ist, bleibt die Variable auch nach dem Ende einer Funktion
im Speicher. Dies bedeutet, dass statische lokale Variablen eine private, dauerhafte Speicherung
bereitstellen, die nur in einer einzigen Funktion (oder einem Block) zugänglich sind. Wie globale Variablen,
können statische lokale Variablen nur mit konstanten Ausdrücken initialisiert werden.
13.4.2.5 Statische globale Deklaration
Eine statische globale Variable verhält sich wie eine globale Variable, mit dem Unterschied, dass die Variable
nur in der Datei gültig ist, in der sie deklariert wurde. Um eine globale Variable statisch zu deklarieren,
ersetzen Sie das Schlüsselwort "new" mit "static".
13.4.2.6 Gleitkommawerte
Pawn unterstützt Gleitkommawerte. Diese können an jeder Stelle eingesetzt werden, an der eine
Variablendeklaration gültig ist.
Beispiel:
new Float:a;
new Float:b = 3.0; // mit Initialisierung (Wert ist 3.0)
13.4.3 Konstante Variablen
Es ist manchmal notwendig eine Variable zu erstellen, die einmal initialisiert wird und dann nicht mehr
verändert werden soll. Eine solche Variable verhält sich ähnlich wie eine symbolische Konstante, aber sie ist
232
// ohne Initialisierung (Wert ist 0.0)
Rev. 01