Hallo, ich bin gerade beim Thema Zeiger und mein C++ Buch löst nun in mir Verwirrung aus...
Was macht der Computer wenn er folgende Zeile durchführt?
char* b ="hallo"; ?
Ich mein klar ich hab im Endeffekt nen char-array aber warum deklarier ich ihn wie ein zeiger? Heisst ja nicht b zeigt auf "hallo"...
Ich hab immer gedacht ein Zeiger zeigt auf eine Speicheradresse eines Objektes...
Ich könnte doch gleich : char b[]="hallo"; nutzen, da wäre keine solche Verwirrung.
Und warum darf man bei c-strings einfach
char* test[] = { "hallo", "welt" }; machen, ohne das ne Fehlermeldung erscheint?
Und wie sagt man dazu? Deklaration eines Zeigers des Types char das auf "hallo" und "welt" zeigt oder wie?!
wenn ich das selbe mit ints mach erhalte ich nen compilererror. Haben chars etwa ne Sonderberechtigung?
Mir ist schon klar das arrays und zeiger eine gewisse Ähnlichkeit haben, allerdings hat sich diese bisher nur so gezeigt:
int test[5]={1,2,3,4,5};
int* ptest=test; //ptest zeigt auf erstes Element von test[5],
Kann mir bitte jemand auf die Sprünge helfen? Ich glaub ich kauf ein anderes Buch denn ohne Erklärung was da gemacht wird hilft das mir nicht weiter, ich brauch ja auch das Verständnis zu allem.
Vielen Dank und
Gruß nachtschatten