【发布时间】:2009-06-22 07:40:08
【问题描述】:
可能的重复:
Why does simple C code receive segmentation fault?
Modifying C string constants?
为什么这段代码会产生访问冲突?
int main()
{
char* myString = "5";
*myString = 'e'; // Crash
return 0;
}
【问题讨论】:
-
这个问题大约每周在 SO 上被问一次 :),请给我一分钟时间找到原件,我会将您链接到它。
-
C 还是 C++?知道您正在使用哪种语言进行编码会很有用。
-
@Sev:让我回答一下:因为 myString 是一个 char array(即 C 风格的字符串),而 *myString 是数组中的第一个字符。 "5" 实际上是 { '5', '\0' }。