这个涉及到字符串指针和字符串数组的区别,在c++中,字符串指针被认为是常量指针,即可以理解为const char*类型,因为const char*常量指针指向的内容不能更改,所以任何试图改变改字符串的操作都会报错,如果要实现,只能拷贝一份,对拷贝字符串进行操作。
不能
其实char *s1="123"(虽然编译器允许这样写,但最好不要这样写);
的正确写法应该是const char *s1="123";
"123"存放在不可修改的常量区中,不可能通过指针来修改其值
常量存放在常量区,常量区里的数据不能修改
char *s = "abc" 就等于 const char *s = "abc"
字符串常量,常量不能修改啊!!!