为什么函数“strlen”不能像这样修改“ch1”的长度?

时间:2015-12-14 09:29:44

标签: c++ string

enter image description here

我声明了一个指向char数组类型的指针,我将其中一个元素更改为'\ 0'。我认为函数“strlen”可以将第一个元素的长度设置为'\ 0',但实际上,程序崩溃了。谁知道原因?

1 个答案:

答案 0 :(得分:0)

您的字符指针指向字符串文字,这是不可变数据。出于向后兼容性的原因,编译器允许非const char*指向文字,但正如您所注意到的,尝试修改字符串会使程序崩溃。