ウィキペディアでこれを読んだ
int main(void)
{
char *s = "hello world";
*s = 'H';
}
このコードを含むプログラムがコンパイルされると、読み取り専用としてマークされたプログラム実行可能ファイルのセクションに文字列「hello world」が配置されます。読み込まれると、オペレーティング システムはそれを他の文字列や定数データと共にメモリの読み取り専用セグメントに配置します。実行されると、変数 s が文字列の位置を指すように設定され、変数を介して H 文字をメモリに書き込もうとするため、セグメンテーション フォールトが発生します**
文字列が読み取り専用セグメントに配置されている理由がわかりません。誰かがこれを説明してください。