一个关于字符串常量的有关问题

一个关于字符串常量的问题
有如下两行代码:
char*   p1= "abcde ";
p1[0]= 'A ';
为什么执行p1[0]= 'A '后,程序就崩了(Access   violation)?
abcde是字符串常量,编译时分配在静态存储区,难道这个区域内的数据不可更改吗?全局变量、静态变量不也是存在该区域吗?

------解决方案--------------------
常量怎么可以修改捏?
------解决方案--------------------
同上
------解决方案--------------------
const read-only
------解决方案--------------------
"abcde " 是常量