Hallo,
ich gucke mir gerade die Strings in C++ an und habe da etwas über den C-String gelesen. Ein einfacher String (ein von Anführungszeichen begrenztes Literal) der Form
ist vom Typ const char*, also ein Zeiger auf konstante Zeichen.
Wenn ich jetzt etwas wie
habe, zeigt der Zeiger auf die erste Stelle im Speicher, an der die Zeichenfolge beginnt. Der Ausdruck
gibt mir auch wie erwartet eine Speicheradresse zurück.
Wenn ich den Zeiger allerdings weiterschalte
erhalte ich viermal die gleiche Speicheradresse zurück und nicht vier verschiedene, wie ich erwartet habe.
Wieso gibt der weitergeschaltete Zeiger immer noch die Speicheradresse des Stringsanfangs zurück, aber den Buchstaben der jeweiligen Position aus?
Viele Grüße
schiese
ich gucke mir gerade die Strings in C++ an und habe da etwas über den C-String gelesen. Ein einfacher String (ein von Anführungszeichen begrenztes Literal) der Form
C++:
"Text";
Wenn ich jetzt etwas wie
C++:
const char* text = "Text";
C++:
std::cout << &text << "\n";
Wenn ich den Zeiger allerdings weiterschalte
C++:
while (*text) {
std::cout << &text << "\n";
text++;
}
Wieso gibt der weitergeschaltete Zeiger immer noch die Speicheradresse des Stringsanfangs zurück, aber den Buchstaben der jeweiligen Position aus?
Viele Grüße
schiese