关于指针的小疑点,仅两行代码

关于指针的小问题,仅两行代码
C/C++ code

      char *p = "Hello World";
      *p = "A";

 
  这段代码有问题,我的理解是hello world是一个常量,然后指针指向了这个常量的首地址,如果你让指针指向了A,那么原来的常量就丢失了,编译器不允许这样的事情发生 所以编译错误,不知道对不对,求指点

------解决方案--------------------
他并不是怕常量丢失,是常量区,不可修改。。。
------解决方案--------------------
C/C++ code
char *p = "Hello World";
*p = "A";//假设能修改应该也是p = "A";或者*p = 'A';但是是不能修改的

------解决方案--------------------
不对。不是因为“原来的常量就丢失了”才出现错误的。
比如下面的代码是没错的
C/C++ code

    char *p = "Hello World";
    char str[] = "abcdefg";

    p = str;