菜鸟求教,以下的写法为何不可以char *p="abc";p[1]="B";//或者*(p+1)="b"把p改成字符串数组就可以,这样写为什么不可以,有什么区别吗?[解决办法]char *p="abc";这里是定义一个指向存放在常量区的字符窜的指针,常量"abc”。如果是数组,就是将常量区的字符窜拷贝到数组里面的是可变的。你先看看数据的存储方式吧!