Von überall kommt ihr über dieses Logo auf diese Seite zurück!

Arrays und Zeiger


Ein Array sind mehrere Variablen des gleichen Typs, die hintereinander in einem zusammenhängenden Speicherbereich liegen.
Beispiel:
int x[10]; // definiert 10 Integer-Variablen
...
cout << x[5];

Die Deklaration erfolgt durch den gewünschten Typ, gefolgt von dem Bezeichner und in eckigen Klammern die Anzahl der gewünschten Elemente.
Der Zugriff auf ein Element des Arrays erfolgt ebenfalls durch die eckigen Klammern, davon eingeschlossen die gewünschte Indexnummer. Die Indexnummern verlaufen von 0 bis MaximaleAnzahl-1. Hat man also ein Array mit int x[10]; deklariert, so kann man die Indizies zwischen 0 und 9 auswählen.
Der Name des Array (hier x) wird vom Compiler wie die Adresse des ersten Elementes angesehen. Ein Zeiger ist die Adresse einer Variablen. Adressoperator & liefert die Adresse einer Variablen. Inhaltsoperator * liefert den Inhalt an einer Adresse.
Beispiel:
int k;        // Integer Variable
int *p;       // Zeiger-Variable (Adresse eines int)
k=5; 
p= &k;        // p erhält die Adresse von k
*p=3;         // Der Inhalt an der Adresse von p ist nun 3
              // Also ist k=3
p=x           // x als Array (s.o.)
cout << p[5]; // Da p nun gleich x ist, kann p wie x verwendet werden.
  // x=&k; geht nicht, da x eine Adresskonstante ist
p=p+1;        // p zeigt auf das nächste Element
k= *(x+1);    // identisch mit k=x[1];



Zurück auf die Vorlesung: Visual C++-Seite <> Homepage