Ändern eines char * const-Strings

ich weiß dasconst char * ist ein Zeiger auf ein const char, währendchar *const ist ein konstanter Zeiger auf ein Zeichen. Ich teste dies im folgenden Code:

const char *s = "hello";    // Not permitted to modify the string "hello"
char *const t = "world";    // Not permitted to modify the pointer t

s = "hello2";   // Valid
// t = "world2";   // Invalid, gives compilation error

// *(s + 1) = 'a';    // Invalid, gives compilation error
*(t + 1) = 'a';       // Why does this not work?    

Die letzte Zeile gibt keinen Fehler aus, führt jedoch dazu, dass das Programm unerwartet beendet wird. Warum wird die Zeichenfolge geändert, auf die von verwiesen wird?t nicht erlaubt?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage