pointer zu einem string macht mir probleme :)
-
hi,
wieso crasht dieser code?
#include <conio.h> #include <string.h> int main(int argc, char* argv[]) { char *zahlen="1234567"; zahlen[3]='2'; getch(); return 0; }
es liegt an der zeile "zahlen[3]='2';" nur ich weiss nicht wieso ...
-
"1234567" wird in einem read-only Speicherbereich angelegt und wenn du zahlen[3]='2'; machst, dann versuchst du in einem read-only Speicherbereich schreibend zuzugreifen.
-
woher beziehst den diese info?
-
Os und vor allem Compiler abhängig. Meistens macht das kein Problem. Was benutzt du für OS und Compiler?
-
Es erzeugt undefiniertes verhalten!
gh0st124 hat recht.
Nachzulesen im C Standard.
-
Du weist dem pointer einen wert zu, das heißt nicht der string wird zugewiesen, sondern seine anfangsadresse.