![]() Vorherige Seite |
![]() Eine Ebene hoch |
![]() Nächste Seite |
---|
Zeiger und Vektoren sind eng verwandt. Hinzu kommt, dass die Syntax zum Teil austauschbar ist. Nehmen wir folgende Definition:
int b[8], *c=&b[0];
so ist der Ausdruck b[0] identisch zu *b. Genauso ist b[2] identisch zu *(b+2). Das Gleiche gilt für den Zeiger c: Der Ausdruck *c ist identisch zu c[0]. Genauso ist wieder *(c+2) identisch zu c[2].
Was ist nun der Unterschied zwischen einem Zeiger und einem Vektor?
Der Vektor ist nach wie vor eine Kette von Datenelementen. In dem Beispiel wird für die Variable b Speicherplatz für acht Zahlen vom Typ int reserviert.
Für einen Zeiger wird nur Speicher zur Ablage einer Adresse reserviert. Sie müssen als Programmierer selbst dafür Sorge tragen, das der Zeiger auf eine sinnvolle Stelle im Speicher zeigt.
Im Beispiel zeigt der Zeiger c auf das erste Element des Vektors b. Nur dadurch können Vektor und Zeiger gleichermaßen behandelt werden.