C++无法通过非常量指针修改字符串常量吗?

2025-04-27 06:16:58
推荐回答(4个)
回答1:

这个涉及到字符串指针和字符串数组的区别,在c++中,字符串指针被认为是常量指针,即可以理解为const char*类型,因为const char*常量指针指向的内容不能更改,所以任何试图改变改字符串的操作都会报错,如果要实现,只能拷贝一份,对拷贝字符串进行操作。

回答2:

不能
其实char *s1="123"(虽然编译器允许这样写,但最好不要这样写);
的正确写法应该是const char *s1="123";
"123"存放在不可修改的常量区中,不可能通过指针来修改其值

回答3:

常量存放在常量区,常量区里的数据不能修改
char *s = "abc" 就等于 const char *s = "abc"

回答4:

字符串常量,常量不能修改啊!!!