Variablen muessen vor der Vewendung erklärt werden. Für die Identifizierung der Variablen werden unikale Namen verwendet. Beschreibungen der Variablen werden für ihre Definition und Typenerklärung verwendet. Beschreibung ist keine Anweisung.
Einfache Typen sind:
Beispiele:
string szInfoBox;
|
Zusammengesetzte Typen:
Strukturen – sind zusammengesetzte Datentypen, gebildet mit Verwendung von anderen Typen.
struct MyTime
|
Vor der Strukturerklärung kann man nicht Variablen des Typs Strukturen erklären.
Array - indizierte Menge gleichartiger Daten:
int a[50]; // eindimensionales Feld aus 50 Ganzzahlen.
|
Arrayindex kann nur Ganzzahl sein. Es werden nicht mehr als vierdimensionale Arrays zugelassen. Die Nummerierung der Elemente des Arrays faengt mit Null an. Das letzte Element des eindimensionalen Arrays ist um eine Nummer kleiner, als die Feldgroesse, d.h. der Zugriff zum letzten Element des Arrays aus 50 Ganzzahlen wird als a[49] aussehen. Dasselbe bezieht sich auf vieldimensionale Arrays - Indizieren einer Dimension erfolgt von 0 bis -1. Das letzte Element des zweidimensionalen Arrays aus dem Beispiel wird als m[6][49] aussehen.
Statistische Arrays können nicht als Timeserien dargestellt werden, d.h. die Funktion ArraySetAsSeries(), die den Zugang zu Feldelementen vom Ende zum Anfang des Arrays festlegt, ist für sie nicht anwendbar. Wenn es notwendig ist, den Zugang zum Feld in Timeserien zu gewaehrleisten, benutzen Sie Objekt des dynamischen Arrays.
Beim Zugriff ueber die Grenzen des Arrays hinaus generiert das vollziehende System ein kritisches Fehler und die Durchführung des Programms wird unterbrochen.
Zugangsspezifikatoren deuten dem Compilierer darauf, wie der Zugang zu Variable, Struktur- und Klassen-gliedern durchgeführt werden kann.
Spezifikator const erklärt die Variable als Konstante und erlaubt nicht den Wert dieser Variable bei der Programmdurchführung zu verändern. Es wird eimalige Initialisierung der Variable bei ihrer Erklaerung zugelassen.
Beispiel
int OnCalculate (const int rates_total, // Feldgroesse price[]
|
für Zugang zu Struktur- und Klassenglieder werden folgende Spezifikatoren verwendet:
Es gibt drei Speicherklassen: static, input und extern. Diese Modifikatoren der Speicherklasse deuten dem Compilierer darauf, dass entsprechende Variablen im vorbestimmten Speicherplatz eingeordnet werden, der als globaler Pool bezeichnet wird. Dabei deuten diese Modifikatoren auf besondere Bearbeitung dieser Variablen hin.
Wenn eine Variable, die auf dem lokalen Niveau erklärt wurde, nicht statisch ist, erfolgt Speicherverteilung für diese Variable automatisch auf dem Programmstack. Speicher, der nicht für ein statisches Feld verteilt wurde, erfolgt auch automatisch beim Ausgang vom Sichtbarkeitsbeich des Blocks, in dem das Feld erklärt wurde.
Sehen Sie auch
Datentypen, Inkapsulation und Erweiterungsfaehigkeit der Typen, Initialisierung der Variablen, Sichtbereich und Lebensdauer der Variablen, Erzeugung und Entfernung der Objekte, Statische Klassenmitglieder