C++ Felder

Felder bzw. Arrays. Aufbau, Funktion und Beispiele



Felder (Arrays) in C++
Mit Feldern fasst man mehrere Variablen des gleichen Typs mit einem gemeinsamen Namen zusammen und spricht die einzelnen Variablen über diesen Namen und einen Index an.

Wenn man in C++ ein Feld deklariert, muss diesem Feld die spätere Feldgröße zugewiesen werden. Möchte man ein Feld mit 5 Einträgen erstellen, so muss dem Feld dafür eine 5 übergeben werden. Das Feld beginnt somit bei 0 und endet bei 4!


Grafische Anschauung
Grafisch gesehen würden die hier verwendeten Felder wie folg aussehen

 [Bild nicht erreichbar]

Beispiele
int main()
{
  // Feld der groesse 5 deklarieren
  double arrX[5];
 
  // Feld initialisieren 5 Felder = 0,1,2,3,4
  arrX[0] = 1000; // Feld 1
  arrX[1] = 2000; // Feld 2
  arrX[2] = 3000; // Feld 3
  arrX[3] = 4000; // Feld 4
  arrX[4] = 5000; // Feld 5
 
 
  return 0;
}
int main()
{
  // Feld der groesse 5 deklarieren und gleich initialisieren
  int arrX[] = {1000, 2000, 3000, 4000, 5000};
 
  // Wie zu sehen ist, muss bei dieser Darstellung die Feldgroesse nicht initialisiert werden!
 
 
  return 0;
}
Dynamisch Feldgröße beim Start bestimmen
Häufig weiß man beim Programmieren gar nicht wie groß das Feld später mal wird. Hierfür können wir die Größe des Feldes auch beim Programmstart erst bestimmen lassen.

Hier ein Beispiel, welches erst beim Programmstart die Feldgröße bestimmt. Hier wird über >>int argc<< die Anzahl der mitgeführten Argumente gezählt und dem Array arrX als Länge übergeben.
/*
* dynArray.cpp
*/
 
 
int main(int argc, char *argv[])
{
  // Array deklarieren
  int *arrX = new int(argc);
 
 
  // Felder initialisieren
  arrX[0] = 1000;
  // ...
 
 
  // Reservierter Speicher wieder freigeben
  delete[] arrX;
 
 
  return 0;
} 
 
 
// Aufruf
// ./dynArray 1000 2000 3000 4000 5000
Siehe auch:
C zweidimensionale Felder
C++ eindimensionale und mehrdimensionale Felder