do6dm hat geschrieben:Warum funktioniert es nicht mehr, wenn ich statt: char string[] = "Das ist das Haus vom Nikolaus.";
char *string = "Das ist das Haus vom Nikolaus."; schreibe?
Weil "Das ist das Haus vom Nikolaus" ein konstantes (unveränderliches) Char-Array ist (char const []), das bei char string[] = ... kopiert wird.
Bei "char * string" wird der Zeiger auf das unveränderliche char-Array kopiert. Das Array ist aber ein (char const []), was als (char const *) akzeptiert wird, aber nicht als (char *). Auf Deutsch: Du kannst string, was ein Zeiger auf veränderliche chars ist keinen Zeiger auf unveränderliche Chars zuweisen.
Code: Alles auswählen
char const * string = "Das ist das Haus vom Nikolaus.";
Ansonsten bitte ich Dich folgendes zu lesen:
http://www.proggen.org/doku.php?id=faq:frageformulieren
"Funktioniert nicht" funktioniert als Fehlerbeschreibung nur, wenn sich jemand findet, dem das Problem offensichtlich ist. Wenn Du die Fehlermeldung des Compilers nicht verstehst, kann sie aber demjenigen helfen, das Problem zu erkennen.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.