next up previous contents
Next: Kontrollstrukturen Up: Datentypen, Variablen, Konstanten Previous: const

Felder

Felder dienen der Zusammenfassung mehrerer Variablen gleichen Typs in einem zusammenhängenden Speicherbereich. Auf die einzelnen Elemente des Feldes kann mit Variablen eines ganzzahligen Typs als Index zugegriffen werden. Sie erlauben einen direkten Zugriff auf große Datenmengen und werden in Programmiersprachen verwendet, um z.B. Matrizen zu implementieren, viele Daten gleichen Typs und gleicher Bedeutung zu speichern und z.B. einfache Such-Operationen zu ermöglichen. Häufig (aber nicht immer) ist das Vorkommen einer indizierten Variable in einer mathematisch-formalen Beschreibung eines Problems ein Hinweis darauf, daß diese in einem Computerprogramm durch ein Feld repräsentiert werden kann.

Felder werden in C/C++ mittels [] deklariert. Gleichzeitig dient dieser Operator auch zum Zugriff auf Feldelemente. Felder beginnen in C/C++ immer mit dem Index 0, der letzte gültige Index hat daher den Wert der um Eins verringerten Größe des Feldes. Mehrdimensionale Felder werden durch mehrfache, nicht verschachtelte []-Paare deklariert.

Felder haben in C/C++ feste Größen, d.h., daß die in Klammern stehende Feldgröße ein Ausdruck sein muß, der nur Konstanten oder zum Zeitpunkt der Compilation feststehende const deklarierte Variablen umfaßt.

  #include <string>  
  using std::string;

  // array of 20 int's
  int  a[20];  

  // array of three strings, initialized to some values:
  string  stra2[] = { "Matthias", "Stefan", "Oliver" }; 

  // two dimensional array of 20x30 elements of int type        
  int  ia[20][30];
  // initialization in a for loop
  for ( int i=0; i < 20; ++i )
    for ( int j=0; j < 30; ++j )
      ia[i][j] = i * j;

Wir werden später noch sehen, daß zwischen Feldern und den Zeigervariablen (Pointern) in C/C++ ein sehr enger Zusammenhang besteht, der uns an der Stelle auch erlauben wird, ``dynamische'' Felder anzulegen, d.h. solche, deren Größe erst während der Laufzeit des Programmes, zum Beispiel durch eine Benutzereingabe, ermittelt wird und ggf. auch dynamisch geändert werden kann.


next up previous contents
Next: Kontrollstrukturen Up: Datentypen, Variablen, Konstanten Previous: const
© R.Hilfer et al., ICA-1, Univ. Stuttgart
28.6.2002