Herunterladen Inhalt Inhalt Diese Seite drucken

Definition Und Indizierung Von Variablen Arrays - Conrad C-Control II Unit Handbuch

Kompakter steuerungscomputer
Inhaltsverzeichnis

Werbung

C-Control II Unit

5.5.3 Definition und Indizierung von variablen Arrays

C2 unterstützt die Definition von variablen eindimensionalen Arrays. Bei der Definition folgt
dann nach dem Variablenbezeichner in eckigen Klammern [ ] ein konstanter Ausdruck.
Der Ergebniswert des Ausdrucks legt die Anzahl der Arrayelemente fest.
Typ ArrayName[konstanter Wert];
z.B.
float coeff[10];
Der benötigte Speicherplatz errechnet sich aus der Größe eines einzelnen Elements,
multipliziert mit der Anzahl der Elemente. Also werden für das float-Array im obigen
Beispiel 80 Bytes belegt (10*8 Bytes).
Der Zugriff auf einzelne Arrayelemente in Ausdrücken und Zuweisungsanweisungen und
erfolgt über einen Indexterm in eckigen Klammern. Der Indexterm kann ein beliebiger,
auch nichtkonstanter, numerischer Ausdruck sein. Sein Wert wird zur Programmlaufzeit
berechnet.
z.B.
y[i] = coeff[i] * x[i] + coeff[i-1] * x[i-1];
Der Index ist nullbasiert!
D.h. der Indexwert 0 bezieht sich auf das erste Element, der Wert 1 auf das zweite usw.
Während des Programmlaufes erfolgt keine Überprüfung des Index!
Ein häufiger Fehler in Anwenderprogrammen ist die Verletzung des zulässigen
Indexbereiches. Das kann vom einfachen lokalen Fehlverhalten des Programm bis zum
vollständigen Systemabsturz der C-Control II Unit führen.
Mehrdimensionale Arrays werden in C2 nicht unterstützt. Eine vergleichbare Funktionalität
kann über die Verwendung eindimensionaler Arrays von zusammengesetzten Datentypen
hergestellt werden.
z.B.
Type Line
{
int row[10];
};
52

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis