事前に初期化された文字列リテラルを変更するとセグメンテーション違反が発生するのはなぜですか? 例えば:
char *str = "Hello world";
str[0] = 'h';
その文字列値に初期化str
すると、コンパイラは自動的にその文字列定数にメモリを割り当て、開始位置を割り当て、str
プログラムの終了時に解放しませんか?
事前に初期化された文字列リテラルを変更するとセグメンテーション違反が発生するのはなぜですか? 例えば:
char *str = "Hello world";
str[0] = 'h';
その文字列値に初期化str
すると、コンパイラは自動的にその文字列定数にメモリを割り当て、開始位置を割り当て、str
プログラムの終了時に解放しませんか?