【发布时间】:2011-03-24 13:56:31
【问题描述】:
char* string = "abcd";
现在当我尝试更改此字符串的某些字符时,我得到分段错误
*string = 'p';
或
string[0] = 'p';
string[0] = 52;
谁能解释一下为什么会发生这种情况。
谢谢
Alok.Kr.
【问题讨论】:
-
如果这只是 C,则删除 C++ 标签,如果这是 C++,请尽量避免标准库中的类型名称,因为它们可能会造成混淆(即不要调用你的字符串
string) -
"equate" 在标题中使用不正确。变量不是“相等的”,它们是被赋值的。