016
09.08.2003, 23:25 Uhr
Pablo
Supertux (Operator)
|
Ja genau, aber in deinem Beispiel muss cout << pi << endl; stehen, damit die Adresse angezeigt wird.
Ein Zeiger speichert die Adresse der Variable, auf die der Zeiger zeigt. Ein Array ist ähnlich wie ein Zeiger, man könnte sagen, dass ein Array ein Zeiger auf das erste Element ist.
Zum Beispiel:
Code: |
char x = 'a'; char y[6] = {'H', 'a', 'l', 'l', 'o', '\0'}; cout << x << endl << y << endl;
|
Das gibt aus:
Ein string (char*) ist ein Zeiger auf y[0], d.h auf das erste Element von y
C++: |
char* t = &y[0]; // Zeiger auf das erste Element eines Arrays // char* t = y; // fubktioniert auch cout << t << endl; cout << t[0] << t[1] << t[2] << t[3] << t[4] << t[5] << endl; // t ist ein Pointer aber ich greife auf die Elemente, als wäre t ein Array
|
Die Ausgabe ist:
Das kann am Anfang sehr verwirrend sein, mich hat wahnsinnig gemacht, denn ich verstand es gar nicht. Aber mit ein bisschen Übung versteht man das.
Verdammt: Schon wieder gab es schnellere Antworten! -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! Dieser Post wurde am 09.08.2003 um 23:32 Uhr von Pablo Yanez Trujillo editiert. |